eclipse之C/C++

1.下载mingw

2.下载gcc与make(gdb)


3.配置环境变量


4.打开dos输入gcc -v 检测一下(也可写一个test.c做一下测试 gcc test.c -o test  然后test运行)

5.下载eclipse c/c++,然后打开。


6.出现“Launch failed,Binary not found”的解决方法(run----->run configurations)


7.点击run下三角运行(如果没有Debug,可按project---->build project)

注:

1.“multiple definition of main” 只能有一个main

2.“cannot open output file debug\test2.exe: Permission denied ”装在windows下的qt可以这么解决,首先进入都任务管理器-->进程-->找到3个test2.exe,结束进程。如果你的qt装在linux系统,你可以用类是linux命令  ps -ef | grep  test2.exe。 找到这个进程,然后用用kill pid(进程ID)。

3.eclipse scanf优于printf先执行

在eclipse中执行程序时,console总是要求先输入(scanf)在输出(printf)。就是说无论代码中存在多少个scanf,总是先执行scanf,再一个一个的printf输出来。后来查找资料发现主要是缓冲区的问题。程序开始,printf其实已经执行输出了,只是它把内容都输出到“输出缓冲区了(stdout)”,所以没有直接显示到屏幕上,等待把所有的scanf语句都执行完后,printf再会把“输出缓冲区了(stdout)”中的内容全部输出到屏幕上。

缓冲区的类型可以是:

_IOFBF:全缓冲

_IOLBF:行缓冲 

_IONBF:不缓冲

   解决办法有两个:

方法一:设置缓冲区为空,即没有缓冲区。具体是在printf之前添加: setvbuf(stdout,NULL,_IONBF,0);设置缓冲区为空

方法二:每执行printf之后,强制缓冲区。具体是在每句printf之后添加:fflush(stdout);

你可能感兴趣的:(eclipse之C/C++)