首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能将参数传递给gcc

不能将参数传递给gcc
EN

Stack Overflow用户
提问于 2014-02-28 14:32:48
回答 1查看 615关注 0票数 0

我刚接触gcc编程,我想用我的编译器编译一个.c文件。但我不知道该怎么做?在本例中,我的"main“部分是这样开始的:

代码语言:javascript
复制
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++) { ...

但是"INITIALEPSILON“和"FINALEPSILON”在这个程序中没有定义,我应该从其他文件中传递它们。

请帮帮我。

我有一个"makefile“,如下所示:

代码语言:javascript
复制
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。我想把像mindim这样的参数从makefile传递给findit进行编译。

EN

回答 1

Stack Overflow用户

发布于 2014-02-28 14:52:59

正如@Jonathan Leffler已经提到的

代码语言:javascript
复制
#include <string.h>
#include <stdio.h>

int  main(int argc, char *argv[])
{
   printf("%d   %d\n",INITIALEPSILON,FINALEPSILON);
}

编译

代码语言:javascript
复制
$ gcc -DINITIALEPSILON=100 -DFINALEPSILON=500 test.c -o test

代码语言:javascript
复制
$ ./test
100 500
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22087921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档