打印

Microchip XC8/XC16/XC32 **

[复制链接]
58366|64
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
i55|  楼主 | 2013-6-13 14:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
复制下列代码,另存为xclm.c,然后用mingw编译(推荐Code::Blocks的ide)生成xclm.exe,然后替换掉安装目录里面的同名文件即可。
/*****************************************************************************
*
* xclm.c - A replacement license server for Microchip embedded compilers
*
*****************************************************************************/

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

enum
{
    LICENSE_FREE,
    LICENSE_STANDARD,
    LICENSE_PRO,
    LICENSE_NULL,
    LICENSE_NOCPP,
    LICENSE_CPPFREE,
    LICENSE_CPPFULL
};

/* Padded keystring for XC8 compiler */
const char XC8_KEY[] = "120205690315959428539973816151144999076498629234049888"
                       "179227155534183820578631309018645587360933525814619915"
                       "779526071941849199599867328321377639683720790016145394"
                       "178294936006671919157552224249424396156390966410329115"
                       "909578096551465127991840510571525598801543710978110203"
                       "982753256678760352233698494166181105701471577863949973"
                       "752378527793703095602570185318279000307654710756304884"
                       "332086971157374238079344503160762531771453544441183117"
                       "818224971852635709182448998796203508335756172022603393"
                       "785870328131267807990054177348691152537065623705744096"
                       "622171290262732073236149224291304052855537234103307757"
                       "779806424202430488281521000914602653822069627155202082"
                       "274335001015294801198690117625951676366998171835575234"
                       "880703719555742347294083595208861666202572853755813079"
                       "282586487282173705566196898952662018776810629200817792"
                       "338135876828426412432431480282173674506720693507626895"
                       "304345939375032966363775750624733239923482883107733905"
                       "27680200757984356120205690";

int main(int argc, char *argv[])
{
    int license = LICENSE_FREE;
    int ii;

    for (ii = 0; ii < argc; ++ii)
    {
        if (!strcmp(argv[ii], "swxc32") ||
            !strcmp(argv[ii], "swxc16") ||
            !strcmp(argv[ii], "swxc8"))
        {
            license = LICENSE_PRO;
        }
        else if (!strcmp(argv[ii], "swxcpp32"))
        {
            license = LICENSE_CPPFULL;
        }
        else if (!strcmp(argv[ii], "-hash"))
        {
            int index = atoi(argv[ii+1]);
            printf("%.10s", &XC8_KEY[index]);
        }
    }

    return license;
}

相关帖子

沙发
huangxz| | 2013-6-13 15:18 | 只看该作者

使用特权

评论回复
板凳
nevermore008| | 2013-6-13 16:11 | 只看该作者
会不会出bug,以前用picc的**版出过bug

使用特权

评论回复
地板
hexenzhou| | 2013-6-13 17:02 | 只看该作者
用VC不行吗?

使用特权

评论回复
5
LingTian| | 2013-6-23 22:40 | 只看该作者
可以用的吗?

使用特权

评论回复
6
l4157| | 2013-6-23 22:49 | 只看该作者
试过,貌似可以...

使用特权

评论回复
7
i55|  楼主 | 2013-7-29 13:21 | 只看该作者
#include <stdlib.h>
#include <stdio.h>

static char asTable[] = "12020569031595942853997381615114499907649862923404988817922715553418382057863130"
                        "90186455873609335258146199157795260719418491995998673283213776396837207900161453"
                        "94178294936006671919157552224249424396156390966410329115909578096551465127991840"
                        "51057152559880154371097811020398275325667876035223369849416618110570147157786394"
                        "99737523785277937030956025701853182790003076547107563048843320869711573742380793"
                        "44503160762531771453544441183117818224971852635709182448998796203508335756172022"
                        "60339378587032813126780799005417734869115253706562370574409662217129026273207323"
                        "61492242913040528555372341033077577798064242024304882815210009146026538220696271"
                        "55202082274335001015294801198690117625951676366998171835575234880703719555742347"
                        "29408359520886166620257285375581307928258648728217370556619689895266201877681062"
                        "92008177923381358768284264124324314802821736745067206935076268953043459393750329"
                        "6636377575062473323992348288310773390527680200757984356";

void printHash(int iHash);

int main(int iArgc,char *asArg[])
{
    int iHash = -1;
    int iNdx = 0;
    unsigned char bPrint = 0;
    int iExit = 2;

    for(iNdx=0;iNdx<iArgc;iNdx++)
    {
        if(!strcmp(asArg[iNdx],"swxc8"))
            bPrint = 1;
        if(!strcmp(asArg[iNdx],"-hash") && (iNdx+1)<iArgc)
            iHash = atoi(asArg[iNdx+1]);
        if(!strcmp(asArg[iNdx],"-licenseinfo"))
        {
            printf("Node Configuration\n");
            iExit = 0;
            break;
        }
    }

    if(bPrint && iHash!=-1)
        printHash(iHash);

    return iExit;
}
void printHash(int iHash)
{
    int iNdx = 0;

    for(iNdx=0;iNdx<9;iNdx++)
    {
        int iPointer = iHash - (((((0x8c2f17d3L * (long long)iHash) >> 32) >> 9) - (iHash >> 0x1F)) * 0x3A7);
        printf("%c",asTable[iPointer]);
        iHash++;
    }
}

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
ljsimu + 1 赞一个!
8
aeqw| | 2013-8-6 18:52 | 只看该作者
雖然挺麻煩的!!
不過至少還不錯用呢!!
分享我編譯好的東西~
省得大家麻煩!!

xclm.zip

15.64 KB, 阅读权限: 10

使用特权

评论回复
评分
参与人数 4威望 +11 收起 理由
greensyz + 1 很给力!
forTheOne + 1 赞一个!
木瓜498283984 + 3
dong_abc + 6 赞一个!
9
aeqw| | 2013-8-6 18:53 | 只看该作者
第二個源碼...
看起來好像效果一樣?
目前感覺不出有啥區別...

xclm2.zip

15.91 KB, 阅读权限: 10

使用特权

评论回复
评分
参与人数 1威望 +6 收起 理由
dong_abc + 6 赞一个!
10
l4157| | 2013-8-15 10:56 | 只看该作者
aeqw 发表于 2013-8-6 18:53
第二個源碼...
看起來好像效果一樣?
目前感覺不出有啥區別...

XCLM2 好像能**1.20

使用特权

评论回复
11
ljq200| | 2013-8-15 15:27 | 只看该作者
谢谢分享!

使用特权

评论回复
12
hemporer| | 2013-8-22 19:35 | 只看该作者
这种方法很牛
但只能忽悠MPLAB IDE
不能忽悠MPLAB X IDE呀
大侠们还得努力
还有进步空间哦

使用特权

评论回复
13
michaelxcj| | 2013-8-27 10:51 | 只看该作者
l4157 发表于 2013-8-15 10:56
XCLM2 好像能**1.20

@14157,试过没有?怎么查看?

使用特权

评论回复
14
michaelxcj| | 2013-8-27 10:56 | 只看该作者
hemporer 发表于 2013-8-22 19:35
这种方法很牛
但只能忽悠MPLAB IDE
不能忽悠MPLAB X IDE呀

MPLAB IDE能**吗?怎么确认是不是**了

使用特权

评论回复
15
michaelxcj| | 2013-8-27 11:00 | 只看该作者
是不是运行xc8 --ver后,显示
Microchip MPLAB XC8 C Compiler V1.20
Copyright (C) 2013 Microchip Technology Inc.
就证明是**了,有没有人可以确认一下?

使用特权

评论回复
16
l4157| | 2013-8-27 21:33 | 只看该作者
michaelxcj 发表于 2013-8-27 10:51
@14157,试过没有?怎么查看?

Microchip MPLAB XC8 C Compiler V1.20
Copyright (C) 2013 Microchip Technology Inc.
License type: Node Configuration


Memory Summary:
    Program space        used   245h (   581) of   400h words   ( 56.7%)
    Data space           used    17h (    23) of    40h bytes   ( 35.9%)
    EEPROM space         None available
    Configuration bits   used     2h (     2) of     2h words   (100.0%)
    ID Location space    used     0h (     0) of     4h bytes   (  0.0%)

使用特权

评论回复
17
dong_abc| | 2013-8-27 23:15 | 只看该作者
收藏

使用特权

评论回复
18
michaelxcj| | 2013-8-28 09:29 | 只看该作者
l4157 发表于 2013-8-27 21:33
Microchip MPLAB XC8 C Compiler V1.20
Copyright (C) 2013 Microchip Technology Inc.
License type: No ...

我的意思是,怎么确认是不是试用PRO版本?我是8月22日装的,我要确认2个月后是不是就到期了?还是永久是PRO版本的

使用特权

评论回复
19
李富贵| | 2013-8-28 14:53 | 只看该作者
aeqw 发表于 2013-8-6 18:53
第二個源碼...
看起來好像效果一樣?
目前感覺不出有啥區別...

第一个是Floating Workstation,第二个是Nodelocked License,显示的授权许可明显不同。

使用特权

评论回复
20
亚历山大Y| | 2013-8-28 15:41 | 只看该作者
顶起

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

i55
个人签名:诸葛一生唯补肾 吕端房事不糊涂 虽然我不是基督徒,但你可以用身体传福音给我,我必有所感动。

28

主题

750

帖子

6

粉丝