⑴ 在多文件编程中编译时出现错误:_main defined in mole EX.C is plicated in mole EX.C.应该怎样改
在网上搜索了一下这个问题,经过我的实验,问题原因在于,有一个.cpp源文件与.h头文件同名了,在多个文件的项目.prj中,在Add Item中若添加了.h头文件,则.prj项目中不能包括同名的.cpp源文件,修改.cpp源文件文件名后问题解决,可以顺利编译通过。
⑵ c语言 自定义头文件只要一改动就编译失败
可能是你编译器设置的问题,看看设置的缺省目录是否正确。另外当前目录包含头文件用双引号不用尖括号,
⑶ 我做的C语言程序为什么不能编译,生成文件打开还是源码,一调试就说源文件未编译
你是不是粘贴了网页上的代码,那个可能有很多符号的。还有保证在英文状态下输入啊。未编译是肯定的啊,你都有语法错误啊。
⑷ c语言编程的程序为什么无法运行,一直提示源文件未编译
1、源文件必须先编译生成可执行文件后才能运行。
2、对于Dev-C++,编译和运行都可以在顶部的运行菜单内找到。先选择”编译“(快捷键Ctrl+F9),然后再选择”运行“(快捷键Ctrl+F10);或者,直接选择“编译运行”(快捷键F9)将两步合并操作。
⑸ C语言程序对,但是编译不出来是怎么回事
可能很多人在安装VC 6.0后有过点击“Compile”或者“Build”后被出现的
“Compiling... ,Error spawning cl.exe”错误提示给郁闷过。很多人的
选择是重装,实际上这个问题很多情况下是由于路径设置的问题引起的,
“CL.exe”是VC使用真正的编译器(编译程序),其路径在“VC根目录\VC98\Bin”下面,
你可以到相应的路径下找到这个应用程序。
因此问题可以按照以下方法解决:打开vc界面 点击VC“TOOLS(工具)”—>“Option(选择)”
—>“Directories(目录)”重新设置“Excutable Fils、Include Files、
Library Files、Source Files”的路径。很多情况可能就一个盘符的不同
(例如你的VC装在C,但是这些路径全部在D),改过来就OK了。
如果你是按照初始路径安装vc6.0的,路径应为:
executatble files:
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin
C:\Program Files\Microsoft Visual Studio\VC98\BIN
C:\Program Files\Microsoft Visual Studio\Common\TOOLS
C:\Program Files\Microsoft Visual Studio\Common\TOOLS\WINNT
include files:
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
library files:
C:\Program Files\Microsoft Visual Studio\VC98\LIB
C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB
source files:
C:\Program Files\Microsoft Visual Studio\VC98\MFC\SRC
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\CRT\SRC
如果你装在其他盘里,则仿照其路径变通就行(我就是装在D盘)。
关键是microsoft visual studio\ 后面的东西要相同。
本人深受其害,重装多次不管用,上面中文部分为高手借鉴,
参考:http://..com/link?url=Nc_6_-HpnNXII-iOVHEE_SURDrsp8pQgsuj_rwcO0zq
⑹ C语言对文件进行操作,编译错误,请教怎么回事
问题在找不到 windows.h。
编译器是否安装正确,系统环境变量是否设对了。
DOS 命令:
set INCLUDE
可以显示头文件路径。
C 语言 不需要 #include "fstream.h"
C++ 语言 用 #include <fstream> (不带 .h)
视窗操作系统 下才有 #include <windows.h>
如果你是视窗操作系统,编译器里应当有windows.h,
如果是其它操作系统,你可以去掉这项。
⑺ 请教C语言多文件编译链接出错的问题error LNK2005
下面是原数组冒泡:
void bSort(int d[],int n) // 比交换法要少交换
{
int m;
for (int i=0;i<n-1;i++)
{
m=i; // j用来保存最小值的下标
for (int j=i+1;j<n;j++)
if (d[m]>d[j]) // d[j]就是最小值,
m=j; // j取代最小值的位置m
int t=d[i]; // 把最小值d[m]与 d[i]交换一下,让最小值到前面去。
d[i]=d[m];
d[m]=t; // 交换
}
}
⑻ 为什么我的c语言编辑器无法编译了
看你新建的项目,名字也没有,什么也没保存只是在软件上敲了一大堆,保存一下再编译
⑼ c语言中多个文件的编译问题
第一个问题
请问,我是不是该这样做:
在main.c中#include
在fun.c中同样#include
(好像是必需的,请详细解释)
这是必需的。因为编译器只是把包含文件的代码复制过来,既然你二个文件中都用到头文件的内容,那当然要包含头文件,否则就会出错。
我的观点,如果这两步都是必需的
那么当有很多个比如10个.c程序每个里头都要#include
那么文件是不是会特别大,当有100个.c程序都要包含一下的话,那么不是非常重复么?)
那当然是会重复的。不过这个对程序的运行效率没任何影响,只是在编译过程中对文件的分析时间会稍长些,这也是没有办法的事,全看代码编写者如何组织结构了。
第二个问题:
会的。解决的方法就是在可能被多次包含的头文件中开头加上#pragma
once,那样就可以保证此头文件代码只被执行一次,而不会造成头文件中函数多次重复定义至于引起这种情况的情况。当然你也可以自己用#ifdef等预编译处理来解决。你问的问题不就是这种情况么?main.c和fun.c中都包含头文件tou.h
第三个问题:
当我在main.c中这样
#define
unchar
unsigned
char
那么当我在fun.c中还需要重新创建替换宏unchar吗
可以不在创建而直接使用吗?
答案是需重新创建,不能直接使用。但你可以把一些在多个文件中使用的宏、全局变量等统一定义到一个头文件中,那这样就可以避免多次定义了。