复制下列代码,另存为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;
- }
复制代码
我测试没问题,-O0、-O1、-O2、-O3一个比一个小,XC16 v1.11,你去下一个吧。
今天正好下载测试了下,用MPLAB IDE X v1.70 + xc8 v1.11 + xc16 v1.10,利用IDE自带的例程,测试了下,2个编译器确实可以优化了,也没提示错误,优化后RAM和FLASH都减小了,当然因自带的例程没有实质程序,所以比较不是很彻底,但还是可以看到编译后RAM和FLASH占用发生变化了。
楼主辛苦了,终于可以用新的编译器了,后续要和以前用c18 c30的做到项目做下比较,看看编译的正确性咋样。
xc32没用过,PIC32没做过项目,就没测试了
测试的时候发现free模式下可以使用最高优化级别模式编译 只不过编译的output输出信息不断的出现“优化被限制,浏览官网购买编译器”信息
之后替换xclm.exe 正常使用最高优化级别 而且没有以上输出信息
一周热门 更多>