作者littleshan (我要加入剑道社!)
看板C_and_CPP
标题Re: [问题] 请教一个很菜的问题.有关於header 跟fu …
时间Fri May 29 18:53:23 2009
※ 引述《dangerousman (隐匿深山的驼客~~)》之铭言:
: 想请教各位大大一些有关於header跟fuction 实做的问题..
: 我写了一些程式,发现他们都会共用到一些function.
: 於是我想说把他分割出来,让主程式.C 档乾净些:)
: 於是我自定义一个.h档,里面实做我的function
实作应该要放在 .c 里面
.h 只放宣告
请看一下 stdio.h 或 stdlib.h
它们里面也不会放函式的实作
: 而function 会用到srand() 跟time()
: 照理来说应该会使用到stdlib.h 跟time.h
: 但是我自己定义的header file没有引入,而主程式的.C档也只有stdio.h而已
: 却整个程式可以正常执行...百思不得其解中...
因为 C90 规定函式可以不经宣告即呼叫
这种情况下,函式的原型会被当作是接受任意参数并回传 int
但这是非常不好的行为
因此 C99 标准中拿掉了这个规则
所有的函式都应先宣告才能呼叫
: 难道是可以从stdio.h 里面 recursive 引入其他的header file吗?
: 感觉好像也不太可能? 想请各位大大们解惑一下@@
: 另外刚刚稍微爬一下文,发现有人提到header file 实做 code 保密的问题..
: 我想请问一下大家,如果像类似情况大家会采取怎麽样的方式完成呢?
: 感谢各位大大:)
我猜你的意思是不希望函式的实作被别人看到
实际上,因为 .h 中只会有宣告而不会有实作
所以并不需要担心函式实作被看到
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.163.145.14
1F:推 zlw:VC只会有警告(warning C4013),除非link error才会不能编译 05/29 19:17