将c ++代码拆分为多个文件

时间:2017-03-21 21:24:59

标签: c++ linux

我是C ++的新手:我想将部分源代码放入另一个源文件,并能够通过从第一个文件中调出来执行第二个文件的源代码,这甚至可能吗?我很感激一些指导。

以下示例程序将X输出到Linux控制台的随机位置。

#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <chrono> //slow down
#include <thread> //slow down
using namespace std;

void gotoxy(int x,int y)       
{
    printf("%c[%d;%df",0x1B,y,x);
}

int main()                     
{
    int x=1;
    int y=1;
    int b=1;
    for (;;) { // I'd Like this Loop execution in a separate source File
        gotoxy (1,40);               
        cout << "X =" <<x <<endl;      
        cout << "Y =" <<y <<endl;      
        x = rand() % 30 + 1;           
        y = rand() % 30 + 1;            
        for (int b=0 ;b<10000;b=++b){  
            gotoxy (x,y);
            cout << " X ";
            cout <<"\b \b"; // Deletes Just Printed "X"
        }
    }
}

2 个答案:

答案 0 :(得分:4)

您将需要另外两个文件,一个头文件和一个源文件。在第一个中,您将声明函数,而在另一个中您将声明它。

例如,你可以这样做:

头文件:myFunc.h

#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <chrono>
#include <thread>

using namespace std;

void myLoop(int x, int y);

源文件:myFunc.cpp

#include "myFunc.h"

void gotoxy(int x,int y)       
{
  printf("%c[%d;%df",0x1B,y,x);
}

void myLoop(int x, int y)
{
  for (;;) {  
    gotoxy (1,40);                 
    cout << "X =" <<x <<endl;      
    cout << "Y =" <<y <<endl;      
    x = rand() % 30 + 1;           
    y = rand() % 30 +1;            
    for (int b=0 ;b<10000;b=++b){  
      gotoxy (x,y);
      cout << " X ";
      cout <<"\b \b";
    }
  }
}

然后在主源文件中,你会这样做:

#include "myFunc.h"

int main()                     
{
  int x=1;
  int y=1;
  myLoop(x, y);
  return 0;
}

像这样编译:

  

g ++ -Wall myFunc.cpp main.cpp -o main

答案 1 :(得分:1)

C ++旨在将代码分成许多文件,以便我们组织代码。首先,您需要将代码放入函数中。然后将该函数放在一个单独的文件中。您将需要.h头文件和带代码的.cpp文件。