huangyandong 于 2011-05-10 13:25:40发表:
使用gcc时加上 -I. 选项试一下,因为gcc的选项-I表示用来指定不在标准路径中搜随头文件的目录 '.'表示当前目录,上面的选项表示将当前目录加到搜索头文件的路径中的
tiany524 于 2011-05-03 09:21:34发表:
<> 是去编译器制定路径搜索 “” 是先搜索当前路径,找不到再去编译器制定路径
deepwhite 于 2011-05-03 09:02:44发表:
google 一下 include<> 和 include "" 的区别。
hstking 于 2011-05-01 00:29:20发表:
gcc 再编译程序的时候有个-I选项,用于指明头文件路径的。 还有一个-L选项,是指明库文件路径的。当然,前提是如果你有必要。
lgcHR 于 2011-04-30 23:58:23发表:
[i=s] 本帖最后由 lgcHR 于 2011-5-1 10:50 编辑 [/i]#include #include //#include /* char* test(char* s) { int len = 0,i = 0; len = strlen(s); for(;i *(s+i) = (char)((int)(*(s+i))+5); return s; } */ void printf4(void) { char* p = NULL; p = "987654321"; //p[2] = 'z'; printf("\n\tprintf4 is called:"); printf("%s",p); printf("\n\t"); printf("%c",*p); prinff("\n"); } void printf2(char* p) { printf("%s",p); } void printf1(void) { printf("\n\tprintf1 is called :hello world!"); } int main(void) { // char* (*FunP)(char* ) = NULL; // char* str = "abcdefg"; printf1(); printf2("\n\tprintf2 is called :123456789"); printf3(); printf4(); //str = (*FunP)(str); //printf("%s",str); return 0; }// 这是我的test.c 源文件
lgcHR 于 2011-04-30 22:55:33发表:
我知道两者的区别,都试过了,不过两者给出的信息不一样,都不能执行,我估计是在同一目录下的原因,具体的还不清楚啊
pallana 于 2011-04-30 22:16:39发表:
试试#include "prinff.h" 跟#include意义不一样。
lgcHR 于 2011-04-30 22:13:27发表:
我已经解决了,只是其中的道理还不明白。当我把test.c中的#include去掉后,就能执行了!!! 但我总觉得不应该是这样的,这是什么原因啊?难道只是因为这三个文件都在同一个文件夹中,在VC中可不是这样的。
lgcHR 于 2011-04-30 21:54:09发表:
我有三个文件test.c , printf3.c , printf3.h 。主函数在test.c中,主函数中调用printf3中的函数,编译时总是提醒------test.c:3:21:error: printf3.h: no such file or directory ------printf3.c:2:21:error: printf3.h: no such file or directory 另外我的三个文件都在同一个目录下,现在很郁闷
milestogo 于 2011-04-30 21:40:52发表:
我觉得应该把编译器的输出信息全部贴出来,再看看...
sjwkwang_ 于 2011-04-30 21:12:44发表:
第一,输入命令时输入的路径是否正确,第二,源文件是否存在。第三,我也不清楚了,呵呵
huangyandong 于 2011-05-10 13:25:40发表:
使用gcc时加上 -I. 选项试一下,因为gcc的选项-I表示用来指定不在标准路径中搜随头文件的目录
'.'表示当前目录,上面的选项表示将当前目录加到搜索头文件的路径中的
tiany524 于 2011-05-03 09:21:34发表:
<> 是去编译器制定路径搜索
“” 是先搜索当前路径,找不到再去编译器制定路径
deepwhite 于 2011-05-03 09:02:44发表:
google 一下 include<> 和 include "" 的区别。
hstking 于 2011-05-01 00:29:20发表:
gcc 再编译程序的时候有个-I选项,用于指明头文件路径的。
还有一个-L选项,是指明库文件路径的。当然,前提是如果你有必要。
lgcHR 于 2011-04-30 23:58:23发表:
[i=s] 本帖最后由 lgcHR 于 2011-5-1 10:50 编辑 [/i]
*(s+i) = (char)((int)(*(s+i))+5);
#include
#include
//#include
/*
char* test(char* s)
{
int len = 0,i = 0;
len = strlen(s);
for(;i
return s;
}
*/
void printf4(void)
{
char* p = NULL;
p = "987654321";
//p[2] = 'z';
printf("\n\tprintf4 is called:");
printf("%s",p);
printf("\n\t");
printf("%c",*p);
prinff("\n");
}
void printf2(char* p)
{
printf("%s",p);
}
void printf1(void)
{
printf("\n\tprintf1 is called :hello world!");
}
int main(void)
{
// char* (*FunP)(char* ) = NULL;
// char* str = "abcdefg";
printf1();
printf2("\n\tprintf2 is called :123456789");
printf3();
printf4();
//str = (*FunP)(str);
//printf("%s",str);
return 0;
}// 这是我的test.c 源文件
lgcHR 于 2011-04-30 22:55:33发表:
我知道两者的区别,都试过了,不过两者给出的信息不一样,都不能执行,我估计是在同一目录下的原因,具体的还不清楚啊
pallana 于 2011-04-30 22:16:39发表:
试试#include "prinff.h"意义不一样。
跟#include
lgcHR 于 2011-04-30 22:13:27发表:
我已经解决了,只是其中的道理还不明白。当我把test.c中的#include去掉后,就能执行了!!!
但我总觉得不应该是这样的,这是什么原因啊?难道只是因为这三个文件都在同一个文件夹中,在VC中可不是这样的。
lgcHR 于 2011-04-30 21:54:09发表:
我有三个文件test.c , printf3.c , printf3.h 。主函数在test.c中,主函数中调用printf3中的函数,编译时总是提醒------test.c:3:21:error: printf3.h: no such file or directory
------printf3.c:2:21:error: printf3.h: no such file or directory
另外我的三个文件都在同一个目录下,现在很郁闷
milestogo 于 2011-04-30 21:40:52发表:
我觉得应该把编译器的输出信息全部贴出来,再看看...
sjwkwang_ 于 2011-04-30 21:12:44发表:
第一,输入命令时输入的路径是否正确,第二,源文件是否存在。第三,我也不清楚了,呵呵