A.cpp中
int main()
{
...
int C()
...
}
这个main函数中或者之前是不是得包含B.cpp,并声明int c(),具体应该怎么写,希望高手指点一下,谢谢
13 个解决方案
#1
新建一个B.h,其中
extern int c()
在A.cpp中
#include "B.h"
int main
{
....
c(); // 直接使用
....
}
#2
在A中声明一个c函数头就行,链接程序会自动找到B.obj中的c函数的
A.cpp
int c();声明
main()
{
}
B.cpp
int c()定义
{
}
#3
首先那个B.cpp必须跟这个A.CPP在一个工程文件里
然后就是要把C()函数的声明写在一个头文件里 然后这个.h文件要被包含在c()函数的实现的.cpp文件中
最后直接包含.h文件进来调用就行了
#include <xxx.h>
int main()
{
...
C()
...
}
#4
#include "*.cpp" #include "*.c" #include "*.h" 都可以
#5
楼注注意 不要被误导 不需要include B 任何形式的文件 不管是.h 还是cpp 只要在a.cpp中声明了就行
可以试一下
a.cpp 和 b.cpp在一个工程中编译就ok 运行显示 ccccc
a 不需要incude b的任何东西,链接器会做
可以试一下
a.cpp 和 b.cpp在一个工程中编译就ok 运行显示 ccccc
a 不需要incude b的任何东西,链接器会做
a.cpp
int c(void);
void main(void)
{
c();
}
b.cpp
#include <iostream>
using namespace std;
int c(void)
{
cout << "ccccc\n";
return 1;
}
#6
太感谢楼上的各位了,程序实现可以通过不同的语句和方法实现,看到上面各位的回复还是受益匪浅,十分感谢。
不过还是
楼注注意 不要被误导 不需要include B 任何形式的文件 不管是.h 还是cpp 只要在a.cpp中声明了就行
可以试一下
a.cpp 和 b.cpp在一个工程中编译就ok 运行显示 ccccc
a 不需要incude b的任何东西,链接器会做
这个回答我最喜欢用,跟我感觉的差不多,就采用这个老大的办法了。
不过还是
楼注注意 不要被误导 不需要include B 任何形式的文件 不管是.h 还是cpp 只要在a.cpp中声明了就行
可以试一下
a.cpp 和 b.cpp在一个工程中编译就ok 运行显示 ccccc
a 不需要incude b的任何东西,链接器会做
这个回答我最喜欢用,跟我感觉的差不多,就采用这个老大的办法了。
#7
在A.cpp中声明要调用的B.CPP中的函数,
extern int c();
extern int c();
#8
这样用不安全,你搜一下CSDN以前的帖子,也有问这个的。
你的b.cpp中的函数少,只有一个函数。不会有什么问题。当
函数多了,之间也有调用关系时,你就知道了。有时候你都不
知道你错在哪了。
#9
还是听1,3楼的话,5楼之言言别人误导人,其言却在误导人。8楼可谓一针见血,拨乱反正了,呵呵!
#10
单做的话,直接放在一个工程里就可以了...不需要包含啊,头文件之类的.
但是,写程序是要讲求规范的,尤其是在真正的项目中,最重要的是在维护中.
所以,在头文件中声明是最好的做法.!!!
#11
正解
#12
用extern int c()是正解。
帮我解决问题了,谢谢。
帮我解决问题了,谢谢。
#13
还是在头文件里再包含好点吧
#1
新建一个B.h,其中
extern int c()
在A.cpp中
#include "B.h"
int main
{
....
c(); // 直接使用
....
}
#2
在A中声明一个c函数头就行,链接程序会自动找到B.obj中的c函数的
A.cpp
int c();声明
main()
{
}
B.cpp
int c()定义
{
}
#3
首先那个B.cpp必须跟这个A.CPP在一个工程文件里
然后就是要把C()函数的声明写在一个头文件里 然后这个.h文件要被包含在c()函数的实现的.cpp文件中
最后直接包含.h文件进来调用就行了
#include <xxx.h>
int main()
{
...
C()
...
}
#4
#include "*.cpp" #include "*.c" #include "*.h" 都可以
#5
楼注注意 不要被误导 不需要include B 任何形式的文件 不管是.h 还是cpp 只要在a.cpp中声明了就行
可以试一下
a.cpp 和 b.cpp在一个工程中编译就ok 运行显示 ccccc
a 不需要incude b的任何东西,链接器会做
可以试一下
a.cpp 和 b.cpp在一个工程中编译就ok 运行显示 ccccc
a 不需要incude b的任何东西,链接器会做
a.cpp
int c(void);
void main(void)
{
c();
}
b.cpp
#include <iostream>
using namespace std;
int c(void)
{
cout << "ccccc\n";
return 1;
}
#6
太感谢楼上的各位了,程序实现可以通过不同的语句和方法实现,看到上面各位的回复还是受益匪浅,十分感谢。
不过还是
楼注注意 不要被误导 不需要include B 任何形式的文件 不管是.h 还是cpp 只要在a.cpp中声明了就行
可以试一下
a.cpp 和 b.cpp在一个工程中编译就ok 运行显示 ccccc
a 不需要incude b的任何东西,链接器会做
这个回答我最喜欢用,跟我感觉的差不多,就采用这个老大的办法了。
不过还是
楼注注意 不要被误导 不需要include B 任何形式的文件 不管是.h 还是cpp 只要在a.cpp中声明了就行
可以试一下
a.cpp 和 b.cpp在一个工程中编译就ok 运行显示 ccccc
a 不需要incude b的任何东西,链接器会做
这个回答我最喜欢用,跟我感觉的差不多,就采用这个老大的办法了。
#7
在A.cpp中声明要调用的B.CPP中的函数,
extern int c();
extern int c();
#8
这样用不安全,你搜一下CSDN以前的帖子,也有问这个的。
你的b.cpp中的函数少,只有一个函数。不会有什么问题。当
函数多了,之间也有调用关系时,你就知道了。有时候你都不
知道你错在哪了。
#9
还是听1,3楼的话,5楼之言言别人误导人,其言却在误导人。8楼可谓一针见血,拨乱反正了,呵呵!
#10
单做的话,直接放在一个工程里就可以了...不需要包含啊,头文件之类的.
但是,写程序是要讲求规范的,尤其是在真正的项目中,最重要的是在维护中.
所以,在头文件中声明是最好的做法.!!!
#11
正解
#12
用extern int c()是正解。
帮我解决问题了,谢谢。
帮我解决问题了,谢谢。
#13
还是在头文件里再包含好点吧