Microchip XC8/XC16/XC32 破解

2020-02-06 09:51发布

复制下列代码,另存为xclm.c,然后用mingw编译(推荐Code::Blocks的ide)生成xclm.exe,然后替换掉安装目录里面的同名文件即可。
  1. /*****************************************************************************
  2. *
  3. * xclm.c - A replacement license server for Microchip embedded compilers
  4. *
  5. *****************************************************************************/

  6. #include <stdio.h>
  7. #include <string.h>
  8. #include <stdlib.h>

  9. enum
  10. {
  11.     LICENSE_FREE,
  12.     LICENSE_STANDARD,
  13.     LICENSE_PRO,
  14.     LICENSE_NULL,
  15.     LICENSE_NOCPP,
  16.     LICENSE_CPPFREE,
  17.     LICENSE_CPPFULL
  18. };

  19. /* Padded keystring for XC8 compiler */
  20. const char XC8_KEY[] = "120205690315959428539973816151144999076498629234049888"
  21.                        "179227155534183820578631309018645587360933525814619915"
  22.                        "779526071941849199599867328321377639683720790016145394"
  23.                        "178294936006671919157552224249424396156390966410329115"
  24.                        "909578096551465127991840510571525598801543710978110203"
  25.                        "982753256678760352233698494166181105701471577863949973"
  26.                        "752378527793703095602570185318279000307654710756304884"
  27.                        "332086971157374238079344503160762531771453544441183117"
  28.                        "818224971852635709182448998796203508335756172022603393"
  29.                        "785870328131267807990054177348691152537065623705744096"
  30.                        "622171290262732073236149224291304052855537234103307757"
  31.                        "779806424202430488281521000914602653822069627155202082"
  32.                        "274335001015294801198690117625951676366998171835575234"
  33.                        "880703719555742347294083595208861666202572853755813079"
  34.                        "282586487282173705566196898952662018776810629200817792"
  35.                        "338135876828426412432431480282173674506720693507626895"
  36.                        "304345939375032966363775750624733239923482883107733905"
  37.                        "27680200757984356120205690";

  38. int main(int argc, char *argv[])
  39. {
  40.     int license = LICENSE_FREE;
  41.     int ii;

  42.     for (ii = 0; ii < argc; ++ii)
  43.     {
  44.         if (!strcmp(argv[ii], "swxc32") ||
  45.             !strcmp(argv[ii], "swxc16") ||
  46.             !strcmp(argv[ii], "swxc8"))
  47.         {
  48.             license = LICENSE_PRO;
  49.         }
  50.         else if (!strcmp(argv[ii], "swxcpp32"))
  51.         {
  52.             license = LICENSE_CPPFULL;
  53.         }
  54.         else if (!strcmp(argv[ii], "-hash"))
  55.         {
  56.             int index = atoi(argv[ii+1]);
  57.             printf("%.10s", &XC8_KEY[index]);
  58.         }
  59.     }

  60.     return license;
  61. }
复制代码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
99条回答
i55x
1楼-- · 2020-02-12 02:21
soosqt 发表于 2013-6-15 16:30
选择2或者s 编译的结果:
Total program memory used (bytes):         0xb91f  (47391) 36%
otal data m ...

我测试没问题,-O0、-O1、-O2、-O3一个比一个小,XC16 v1.11,你去下一个吧。
caoxuedong
2楼-- · 2020-02-12 05:54
 精彩回答 2  元偷偷看……
tdh03z
3楼-- · 2020-02-12 05:55
晕,微芯网站没找到XC16 v1.11,只有1.10的版本啊,还没用过MPLAB IDE X。

今天正好下载测试了下,用MPLAB IDE X v1.70 + xc8 v1.11 + xc16 v1.10,利用IDE自带的例程,测试了下,2个编译器确实可以优化了,也没提示错误,优化后RAM和FLASH都减小了,当然因自带的例程没有实质程序,所以比较不是很彻底,但还是可以看到编译后RAM和FLASH占用发生变化了。

楼主辛苦了,终于可以用新的编译器了,后续要和以前用c18 c30的做到项目做下比较,看看编译的正确性咋样。

xc32没用过,PIC32没做过项目,就没测试了
承浩2012
4楼-- · 2020-02-12 11:28
mark一个,备用
kevin_me
5楼-- · 2020-02-12 15:02
安装的时候选的free
测试的时候发现free模式下可以使用最高优化级别模式编译 只不过编译的output输出信息不断的出现“优化被限制,浏览官网购买编译器”信息

之后替换xclm.exe 正常使用最高优化级别 而且没有以上输出信息
guoj
6楼-- · 2020-02-12 19:15
很赞一下

一周热门 更多>