我用Eclipse開發Java項目。 Java項目可以包含許多帶有main
函數(入口點)的代碼文件,因此我們可以運行每個具有main
函數的代碼文件。用多個主入口點開發C
但現在我想通過Eclipse CDT開發C項目。 在C項目中,我們只能有一個main
函數。我是否可以使用main
函數獲得很多代碼文件,並像在Java中一樣運行每個文件?
P.S:我不喜歡寫使目標每個文件由主自
我用Eclipse開發Java項目。 Java項目可以包含許多帶有main
函數(入口點)的代碼文件,因此我們可以運行每個具有main
函數的代碼文件。用多個主入口點開發C
但現在我想通過Eclipse CDT開發C項目。 在C項目中,我們只能有一個main
函數。我是否可以使用main
函數獲得很多代碼文件,並像在Java中一樣運行每個文件?
P.S:我不喜歡寫使目標每個文件由主自
的Java類選項,主中的每個對象是高度刺激性和沒有意義了我。
我假設你想在c中訓練一下,並想找到一種方法在一個文件中進行所有的訓練課程。這裏有一個選項可以以粗略的方式爲你做到這一點。作爲一個應用程序來做這是不合理的,但是你可以用它來執行不同的選項。
要使用這個,你可以調用你的程序,如'程序名1'。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int ProgrammingLesson001(void);
int main(int argc, char * argv[])
{
int i;
int option;
int e = 0;
printf("%i\n", argc);
for(i = 0; i < argc; ++i)
{
printf("%s\n", argv[i]);
}
if(2 == argc)
{
option = atoi(argv[1]);
printf("Your Option was '%s' interpreted as %i\n", argv[1], option);
}
else
{
option = 0;
e |= 1;
}
switch(option)
{
case 0:
printf("zero is an error\n");
e |= 1;
break;
case 1:
e |= ProgrammingLesson001();
break;
default:
break;
}
if(0 != e)
{
printf("an error has occureed\n");
}
return e;
}
int ProgrammingLesson001(void)
{
printf("This could behave like a main for training purposes\n");
}
如果你花了一些時間在c編程再看看makefile。 您可以創建一個適合您所有程序的makefile。 這會減少實際工作量,因此需要將這些工作放在這裏,以便維護開關構造比創建新項目更困難。
感謝克利福德固定我的追求和球員誰回答
我已經自己解決了這個問題 這裏是我的解決方案:
#!/bin/bash
SourceFile=$1
Path="$(dirname "$SourceFile")"
ParentPath="$(dirname "$Path")"
OutputPath="$ParentPath/bin"
OutputFile="$OutputPath/a.out"
mkdir -p $OutputPath
rm -f $OutputFile
gcc -w $SourceFile -lm -o $OutputFile
$OutputFile
此bash的名字是gcc.sh
在eclipse運行 - >外部工具 - >外部工具配置 - >全新配置
Location: /home/xxxxx/gcc.sh
Working Directory: (just let it be empty)
arguments: ${resource_loc}
然後你可以通過你的自定義命令運行C文件
我沒有發佈答案,因爲我只是谷歌搜索:它有點笨重 - Eclipse並沒有出現在Visual Studio的「解決方案」概念: http://tinyguides.blogspot.co.uk/2013/04/multiple-binaries-in-single-eclipse-cdt.html – Clifford 2014-10-19 12:40:45