1
wisatbff 2014-10-12 22:31:27 +08:00
没看懂你要做什么
|
2
wenLiangcan OP @wisatbff 额,比如我在 a.c 里有个函数 func,可是 func 是直接声明在 a.c 里面的(就是没有建 header),我要怎么在另一个文件 b.c 里调用到 func 呢?
|
3
ChanneW 2014-10-12 22:41:57 +08:00 1
extern
|
4
ChanneW 2014-10-12 22:49:43 +08:00
声明总归都要写一遍的, 不放到头文件里, 你就要放到 b.c 里. 还得加 extern . 所以还是老老实实写 .h 吧.
而且 C 编程习惯把详细的函数注释写在 .h 里, 这样方便别人看(用的人不关系怎么实现的,只看怎么调),做成lib 也容易. .h 本身就是最好的文档. |
5
wenLiangcan OP @ChanneW 我并不排斥写头文件,只是做 OJ 的情况,要打开复制粘贴两个文件觉得好麻烦。。。。
|
6
msg7086 2014-10-12 23:08:43 +08:00 via iPhone
头文件不用交吧,你只是把函数导出给测试程序而已啊
|
7
wisatbff 2014-10-12 23:10:25 +08:00
@wenLiangcan 写个脚本,一劳永逸
|
8
ChanneW 2014-10-12 23:17:46 +08:00
没做过 C 的 oj
我以为 OJ 提交的文档一般是完整的文档,包含main 的,通过标准标准输出,控制和检测正确性. 难道是直接提交单个函数? 那得要规定好用户提交的函数名字和参数喽~ |
9
wenLiangcan OP @msg7086 可是总得写声明吧?不就得把头文件里的声明跟代码一起交上去么?还有可能我们学校的系统比较烂吧,需要自己写 main 函数。
|
10
wenLiangcan OP @ChanneW 是交完整的文档,可是只是一个文档。。。。
|
11
wenLiangcan OP @wisatbff 你是指合并 source 跟 header 的脚本?是有这个想法。
|
12
ChanneW 2014-10-12 23:27:55 +08:00
干嘛要掉里面的函数呢? 直接开个子进程,把提交的文档编译执行不就好了?
|
13
wenLiangcan OP @ChanneW 我的意思是,我们学校的 OJ 系统,在提交代码时只有一个文本框,如果我建立头文件的话,就得从头文件和源文件里 一共 复制粘贴两次到那个文本框里,我觉得这样有点麻烦,所以开了这个贴。(其实我不太确定你最近这条回复的意思。。。)
|
14
bcxx 2014-10-12 23:48:30 +08:00 1
你要测试的话可以直接 #ifdef debug ,然后包你的测试函数在里面。提交的时候再把最开始的 #define debug 1 改成 #define debug 0 就可以了。
|
15
ChanneW 2014-10-12 23:52:14 +08:00
我以为你是在做OJ系统,原来你是想测自己的代码.明白了.
|