1. gcc编译时用的库文件arm-linux-gcc编译时提示不兼容怎么办
确定使用的编译器,与目标的linux版本一致性。
如:2.6.13的核==》3.2.1的编译器
2.6.29==》4.3.2的编译器
2. 不同的c语言编译系统差别在哪里代码是否 存在兼容性的问题
ANSI
C
一般都可以支持,但也涉及到不同版本的C标准的兼容性问题,比如VC6不支持C99,VS2003,2005,2008,20120等就可以部分支持C99标准;而且很多标准并没有规定实现,不同的编译器实现可能不同,比如C标准只规定了short<=int<=long,但并没有规定字节数,导致不同的编译器数据类型的大小各不相同。
非
ANSI
C标准的话,不同的编译器一般都有不同的实现,需要分别实现。
在移植到不同编译器的时候这些都要注意处理,比较常规的做法是数据类型和函数等自己根据不同编译器封装成一个统一的格式,在程序中使用封装后的数据类型或函数,而不要使用原生类型,这样在移植时只需要在封装的地方根据编译器的不同进行修改就可以了,不需要再修改源代码。
3. vs2015编译exe时如何做到向下兼容 我在win10上使用vs2015编译的exe无法在win7
我的编译器是vs2013的,这个应该适合2015。
项目,属性,链接器,系统,所需的最低版本,该为5.01。
还是属性页,配置属性,常规,平台工具集,改为含有windows xp的那项。
还是配置属性,C/C++,代码生成,运行库,改为多线程。