这几天在用台湾HOLTEK单片机时遇到一个问题,把KEIL C中<string.h>拷贝到该IDE的INC库文件夹中后,编译时出错。该程序是从51上移植过来的,里面用到<string.h>中声明的函数。 我在想应该是string.h中的一些语法在HOLTEK编译器下是语法错误的,比如#pragma预处理语句。 如果是这样,那C语言移植性不就很受限制?每个编译器都有自己的语法,而头文件中的语法对每种编译器并不一定都是正确的。是不是这样的编译器比较奇特不遵循标准C的规定?或者是标准C本身就没这样的规定呢? 玩过两种以上编译器的人,你们是怎么看的?是不是我哪里理解错了。疑惑中。 |