A. 代码中有中文注释而编译不过的情况,大家有没有遇到过。linux下,gcc
可能是由于字符集的问题,造成了有乱码.不能正常编译...将系统的字符集设置成和代码文件的字符集一致应该就可以了.
B. 请教关于gcc编译文件时遇到C11支持的问题
由于系统比较复杂,首先用VC++.NET 2005 开发,在PC测试全部通过后,使用GCC编译时出现了两个警告,调试时出现一个错误.请高手指教:
1.编译器警告
Queue.h:20: warning: ignoring packed attribute on unpacked non-POD field `CommandPackage Queue::cmd[1]
请教原因
2.编译器警告
buffer.h:12: warning: alignment of 'Buffer::_ZTV6Buffer' is greater than maximum object file alignment. Using 1
3.调试器报错
AVR Simulator: Excessive stack overflow, stop sim
简单说明下程序的情况:
程序用了面向对象的设计,总共涉及了大约10+个类.其中报错了的是指令缓冲相关类.
Buffer继承出了E2PBuffer和CommBuffer,在类内部使用了一个CommandPackage(non-POD)类型组成的Queue类.其中Buffer及其两个子类还有Queue均报了以上两个警告.
我CommandPackage的大小是 10 Byte,缓冲队列最大数量是5,缓冲队列一共产生了6个实例.
由于编译器不支持new和delete,所有对象在全局实例化.并通过函数初始化函数将引用传进类
C. gcc编译错误 一个关于函数指针的(C语言)
如果你用GCC编译,首先用//注释就是错误的,肯定报错,另外,如果你在非win环境下是不能包含window.h头文件的