如何在VS Code里,让一个cpp文件调用另一个cpp文件

来源链接:https://blog.csdn.net/u013145697/article/details/85112700?utm_source=app

只需要将调用的.c/.cpp函数放到args里面就行了,包含main的不用放进去,而且需要注意,需要将这些文件与.vscode放在同一级的目录下,再有效。

需要三个文件,调用函数所在cpp文件,被调用函数所在cpp文件,声明被调用函数的头文件。

第一个文件fibon_elem.cpp,包含fibon_elem函数,该函数用于产生斐波那契数列的第pos个值,并存于elem中,返回用户输入是否有效:


 
 
  1. bool fibon_elem(int pos,int &elem) {
  2. if(pos <= 0 || pos > 1024) {
  3. elem = 0;
  4. return false;
  5. }
  6. int first = 1,second = 1;
  7. if(pos <= 2) {
  8. elem = 1;
  9. return true;
  10. }
  11. for( int i = 2;i < pos;i++) {
  12. elem = first + second;
  13. first = second;
  14. second = elem;
  15. }
  16. return true;
  17. }

第二个文件是code_list_2.1.h,声明被调用的函数:

bool fibon_elem(int ,int &);
 
 

第三个文件code_list_2.1.cpp,包含main函数,该函数调用fibon_elem函数:


 
 
  1. #include <iostream>
  2. #include "code_list_2.1.h" // important
  3. using namespace std;
  4. int main() {
  5. int k = 0,pos = 0;
  6. cout<< "plz enter a number between 0 to 1024." << endl;
  7. cin>>pos;
  8. if(fibon_elem(pos,k)) {
  9. cout<< "the #" << pos << " element in the array is "<< k << endl;
  10. } else {
  11. cout<< "ooops, plz enter a number between 0 to 1024." << endl;
  12. }
  13. system( "pause");
  14. return 0;
  15. }

关键在于编译时,要同时编译两个cpp文件,而按VS Code的官方配置,只会编译一个文件。解决办法是在tasks.json中修改:


 
 
  1. "args": [
  2. "-g", "code_list_2.1.cpp",
  3. "-g", "fibon_elem.cpp"
  4. ]

将编译两个cpp文件的命令都加到args中去。

 

参考资料:

[1] 使用visual studio code 写C++ 怎么样才能正确地引用其他文件的函数  ButterFly的回答

 https://segmentfault.com/q/1010000015905887

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值