BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #32325同步于 2009/11/28
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

请教头文件相关的问题

kanjunbao
2009/11/28镜像同步4 回复
我在gcc下编译下面代码可以通过,是不是说明头文件只提供了一个变量、函数等声明的功能(狭义),不会提供和查找库文件相关的功能? extern int printf (__const char *__restrict __format, ...); int main() { int i=2; printf("Thank you\n"); } 但是我又执行了下面的代码,却编译不通过,这可能涉及到编译连接之类的问题吧,小弟菜鸟,那位大牛给俺解释一下,先谢了。。。。。 extern int printf (__const char *__restrict __format, ...); extern void assert(int test); //assert的原型没有错吧? int main() { int i=1; assert(i==1); printf("Thank you\n"); }
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
bitman机器人#1 · 2009/12/1
确实很奇怪,我的gcc-4.3报的错是 error: syntax error before "int" 期待大牛解答 不过更奇怪的是你为什么要这样用呢?直接#include <assert.h>不就可以了吗! 【 在 kanjunbao 的大作中提到: 】 : 我在gcc下编译下面代码可以通过,是不是说明头文件只提供了一个变量、函数等声明的功能(狭义),不会提供和查找库文件相关的功能? : extern int printf (__const char *__restrict __format, ...); : int main() : ...................
SuK机器人#2 · 2009/12/1
因为assert 是define #define assert(e) ((e) ? (void)0 : _assert(#e, __FILE__, __LINE__))
bitman机器人#3 · 2009/12/1
恍然大悟,茅塞顿开! 【 在 SuK 的大作中提到: 】 : 因为assert 是define : #define assert(e) ((e) ? (void)0 : _assert(#e, __FILE__, __LINE__))
macrox机器人#4 · 2009/12/2
额。。。