我很喜欢gcc编程,我想用编译器编译.c文件。但我不知道怎么办? 在这种情况下,我的主要"部分开头就像:
int main(int argc, char *argv[]){
int i,j,k;
int epsilon,bestepsilon;
float soundness=0,bestsoundness=0;
if (argc!=3) {
printf("[usage] : %s <datasetname> <bestepsilon> \n", argv[0]);
exit(1);
}
readPoints(argv[1]);
readDatainfo(argv[1]);
if (bestepsilon==0) {
for(epsilon=INITIALEPSILON; epsilon<=FINALEPSILON; epsilon++) { ...
但&#34; INITIALEPSILON&#34;和&#34; FINALEPSILON&#34;在这个程序中没有定义,我应该从其他文件中传递它们。
有些人帮我请。我有一个&#34; makefile&#34;如下:
DEFINE1=-DMINDIM=2 -DMAXDIM=20 -DMEANDIM=10 -DNCLUSTER=5 -DNPOINTS=100000 -DMINSIZE=5000
DEFINE2=-DFOUTLIER=0.1 -DSPREADPARAM=2 -DSCALEMAX=2 -DNSHARE=2
com.o:../src/com.c
$(CC) -c ../src/com.c
linpack.o:../src/linpack.c
$(CC) -c ../src/linpack.c
randlib.o:../src/randlib.c
$(CC) -c ../src/randlib.c
gendata:gendata.c ../src/com.o ../src/linpack.o ../src/randlib.o
$(CC) $(DEFINE1) $(DEFINE2) -g -o gendata gendata.c ../src/com.o ../src/linpack.o ../src/randlib.o -lm
这使得生成数据集的gendata。
之后我需要我在上面描述的findit.c。我想把像makeim这样的参数从makefile传递给findit来编译。
答案 0 :(得分:1)
正如@Jonathan Leffler已经提到的那样
#include <string.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("%d %d\n",INITIALEPSILON,FINALEPSILON);
}
编译
$ gcc -DINITIALEPSILON=100 -DFINALEPSILON=500 test.c -o test
运行
$ ./test
100 500