1. lcp1768例程中system_lpc17xx.c文件是怎么生成的
在写程序答绝的时候掘举数有一些东西是编译器自带的一些文件,比如芯
片的头文件,再比如汇编的启动代码,在LPC17XX 里还有一个系
统初始化文件。在我们的工程里主要有3 个头文件,2 个C 文件,
1 个.S 文件。分判首别是:LPC17xx.h 、core_cm3.h、system_LPC17xx.h;
core_cm3.c 、system_LPC17xx.c ; startup_LPC17xx.s ; 其中
startup_LPC17xx.s 是系统自动加载的ARM 启动汇编代码。
LPC17XX.h 是芯片的头文件,定义的是芯片寄存器的结构体
2. 如何在命令行上编译我的delphi项目
Borland出品的Delphi,有着闪电般的编译速度,但是在界面控件使用较多、工程项目较大的时候,编译一个工程仍需要一段时间,打开庞大的Delphi IDE,也需要时间。其实,在一个工程开发结束,调试完成之后的Release编译,完全可以用命令行来执缺绝枝行,因为Delphi的编译器参数不像C++编译器那样复杂。
笔者把Delphi联机手册中关于命令行编译(command-line compiler)的几篇主题作了翻译,希望对Delphi开发人员有帮助。
目录
1. Command-line compiler
命令行编译器
2. Command-line compiler options
命令行编译器选项
3. Compiler directive options
编译器指令选项
4. Compiler mode options
编译模式选项
5. DCC32.CFG file
编译器配置文件DCC32.CFG
6. Debug options
调宏大试选项
7. Directory options
目录选项
8. IDE command-line options
IDE命令行选项
9. Generated files
几个IDE自动生成的文件介绍
Command-line compiler
命令行编译器
Delphi's command-line compiler (dcc32.EXE) lets you invoke all the functions of the IDE compiler (DELPHI32.EXE) from the DOS command line (see IDE command-line options. Run the command-line compiler from the DOS prompt using the syntax:
Delphi’s命令行编译器(dcc32.exe)允许你从DOS命令行方式(参照:IDE命令行选项)实现IDE编译器(delphi32.exe)的所有功能。用DOS命令运行命令行编译器语法如下:
dcc32 [options] filename [options]
dcc32 [选项] [文件名] [选项]
where options are zero or more parameters that provide information to the compiler and filename is the name of the source file to compile. If you type dcc32 alone, it displays a help screen of command-line options and syntax.
零或多个参数给编译器提供信息,文件名指定需要编译的源文件名。如果你单独输入dcc32,它会显示一个关于命令行编译的选项和语法的屏幕。
If filename does not have an extension, the command-line compiler assumes .dpr, then .pas, if no .dpr is found. If the file you're compiling to doesn't have an extension, you must append a period (.) to the end of the filename.
如果文件名没有扩展名,命令行编译器会查找扩展名为.dpr的同名文件,如果找不到,则伏敏查找扩展名为.pas的同名文件。如果你的源文件确实没有扩展名,你需要在文件名的末尾添加(.)。
If the source text contained in filename is a program, the compiler creates an executable file named filename.EXE. If filename contains a library, the compiler creates a file named filename.DLL. If filename contains a package, the compiler creates a file named filename.BPL. If filename contains a unit, the compiler creates a unit file named filename.dcu.
如果指定的源文件是一个工程文件,编译器会创建一个扩展名为.EXE的同名可执行文件。如果指定的源文件是一个库文件,编译器创建一个扩展名为.DLL的同名动态链接库文件。如果指定的源文件是一个包文件,编译器会创建一个扩展名为.BPL的同名包。如果指定的源文件是一个单元文件,编译器会创建一个扩展名为.dcu的目标代码文件。
You can specify a number of options for the command-line compiler. An option consists of a slash (/) or immediately followed by an option letter. In some cases, the option letter is followed by additional information, such as a number, a symbol, or a directory name. Options can be given in any order and can come before or after the file name.
你可以为命令行编译器指定多个参数。一个参数包含一个破折号“-”(或“/”)和紧跟着的一个选项字符构成。通常情况下,选项字符后面会跟一些附加的信息,如一个数字、一个符号、一个目录等。选项可以是任意顺序并且可以在源文件名前面或后面。
Command-line compiler options
命令行编译选项
The IDE lets you set various options through the menus; the command-line compiler gives you access to these options using the slash (/) delimiter. You can also precede options with a hyphen (-) instead of a slash (/), but those options that start with a hyphen must be separated by blanks. For example, the following two command lines are equivalent and legal:
IDE允许你使用菜单来设置各种编译选项,而命令行编译器允许你使用字符“/”作为分隔符来设定这些编译选项。你也可以使用连字符“-”来代替“/”,但是用“-”引出的参数之间必须用空格隔开。例如,下面两个命令都是等同的也是合法的:
DCC -IC:/DELPHI -DDEBUG SORTNAME -$R- -$U+
DCC /IC:/DELPHI/DDEBUG SORTNAME /$R-/$U+
The first command line uses hyphens with at least one blank separating options. The second uses slashes and no separation is needed.
第一个编译命令用“-”引出参数,且参数之间有多个空格分隔。第二个编译命令用“/”引出参数,参数之间不必要分隔。
The following table lists the command-line options. In addition to the listed options, all single-letter compiler directives can be specified on the command line, as described in Compiler directive options.
下列表中列出所有的命令行参数。在附加的选项列表中,所有的单字符编译器指令都可以在命令行编译中使用,详情请参照:编译器指令。
Option Description
选项 描述
Aunit=alias 设置单元别名
B 编译所有单元
CC 编译控制台程序
CG 编译图形界面程序
Ddefines 编译条件符号定义
Epath 可执行文件输出路径
Foffset 查找运行期间错误
GD 生成完整.Map文件
GP 生成.Map文件Public段
GS 生成.Map文件Segment段
H 输出提示信息
Ipaths 文件包含路径
J 生成.Obj目标文件
JP 生成C++类型.Obj目标文件
Kaddress Set image base address
LEpath 包.BPL文件输出路径
LNpath .dcp文件输出路径
LUpackage 使用运行期间包列表
M 编译有改动的源文件
Npath dcu/dpu文件输出目录
Opaths .Obj文件(汇编目标代码文件)路径
P 按8.3格式文件名查找
Q 安静模式
Rpaths 资源文件(.RES)路径
TXext 目标文件扩展名
Upaths 单元文件路径
V 为Turbo Debugger生成调试信息文件
VN 以.Giant格式生成包含命名空间的调试信息文件(将用于C++Builder)
VR 生成调试信息文件.rsm
W 输出警告信息
Z Disable implicit compilation
$directive Compiler directives
--Help 显示编译选项的帮助。同样的,如果你在命令行单独输入dcc32,也会显示编译选项的帮助。
--version 显示产品名称和版本
Compiler directive options
编译器指令选项
Delphi supports the compiler directives described in Compiler directives. The $ and D command-line options allow you to change the default states of most compiler directives. Using $ and D on the command line is equivalent to inserting the corresponding compiler directive at the beginning of each source file compiled.
Delphi支持用编译器指令关键字描述的编译器指令。使用“$”和“D”命令行选项可以改变所有的默认编译器状态。用“$”和“D”命令行选项等同于在源文件的前面添加编译器指令。
Switch directive option
编译器指令选项开关
The $ option lets you change the default state of all of the switch directives. The syntax of a switch directive option is $ followed by the directive letter, followed by a plus (+) or a minus (-). For example:
“$”允许你改变每一种编译器指令默认状态。编译器指令的语法是“$”后紧跟一个指令字符,再跟一个“-”或“+”。例如:
dcc32 MYSTUFF -$R-
compiles MYSTUFF.pas with range-checking turned off, while:
不使用边界检查编译MYSTUFF.pas单元:
dcc32 MYSTUFF -$R+
compiles it with range checking turned on. Note that if a {$R+} or {$R-} compiler directive appears in the source text, it overrides the -$R command-line option.
使用界面检查编译MYSTUFF.pas单元。如果将编译器指令{$R+}或{$R-}添加到源文件的开始,它将覆盖从命令行传入的参数。
You can repeat the -$ option in order to specify multiple compiler directives:
你可以用多个“$”来指定多个编译器指令,如:
dcc32 MYSTUFF -$R--$I--$V--$U+
Alternately, the command-line compiler lets you write a list of directives (except for $M), separated by commas:
命令行编译器允许作用逗号分隔的编译器指定列表,如:
dcc32 MYSTUFF -$R-,I-,V-,U+
只需要用一个“$”符号。
Only one dollar sign ($) is needed.
注意,因为$M的格式不一样,你不能在逗号分隔的指令列表中使用$M
Note that, because of its format, you cannot use the $M directive in a list of directives separated by commas.
Conditional defines option
条件编译选项
The -D option lets you define conditional symbols, corresponding to the {$DEFINE symbol} compiler directive. The -D option must be followed by one or more conditional symbols separated by semicolons (;). For example, the following command line:
“-D”选项允许你定义一个编译条件,符合你用{$DEFINE symbol}定义的编译器指令。“-D”选项后必须跟随一或多个用分号分隔的编译条件符号,如下命令:
dcc32 MYSTUFF -DIOCHECK;DEBUG;LIST
defines three conditional symbols, iocheck, debug, and list, for the compilation of MYSTUFF.pas. This is equivalent to inserting:
定义了三个编译条件符号:IOCHECK,DEBUG,LIST,用于MYSTUFF.pas单元中。这等同于在源文件中插入以下语句:
{$DEFINE IOCHECK}
{$DEFINE DEBUG}
{$DEFINE LIST}
如果你指定了多个“-D”选项,你可以联接它们,如下:
dcc32 MYSTUFF -DIOCHECK-DDEBUG-DLIST
等同于第一个例子。
编译模式选项
有几个选项能影响编译器自身的功能。像其它选项一个,你可以使用“/”或“-”的格式。别忘了用至少一个空格分隔这些选项。
选项(-M)
命令行编译器使用构造逻辑的方式来维护工程。“-M”选项指示编译器检查所有与编译文件相关联的文件。用这个参数会导致编译时间增大。
一个源文件在下列情况下会重新编译:
The source file for that unit has been modified since the unit file was created.
源文件被创建以来被修改过;
用“$I”指令包含的任何文件,用“$L”包含的任何.Obj文件,或用“$R”关联的任何资源文件.Res,比源文件中的要新;
单元接口部分interface的uses段有改动。
在单元编译时指令“-Z”在构造逻辑期不被接受。
If you were applying this option to the previous example, the command would be:
如果你在上一个例子中使用这个指令,编译命令就应该是:
dcc32 MYSTUFF -M
编译所有 选项(-B)
用于取代要知道哪些单元需要更新-M的选项,你可以使用-B选项来更新所有你的程序中关联的单元。你不能在程序中同时使用-M和-B。选项-B比-M速度更慢,而且它并不是必需的。
如果你在前一个例子中使用这个参数,编译命令就应该是:
dcc32 MYSTUFF -B
查找错误 选项(-F)
当一个程序由于运行期间错误而终止时,它会显示一个错误号和错误地址在错误发生时。用-Faddress选项来指定错误地址,你在源文件中能找到引发错误的位置,如果你的程序和单元编译时附加了调试信息(使用$D编译器指令)。
为了命令行编译器能用-F选项查找运行期间错误,你必须传递与第一次编译时相同的指令列表。
先前提到过,你的程序和单元必须启用调试信息,命令行编译器才能查找运行期间错误。默认情况下,所有的程序和单都是启用调试信息的,除非你用{-D}或-$D-指令关闭它,这样,命令行编译器就不能查找运行期间错误了。
使用包(-LU)选项
使用-LU选项来在编译时添加你应用程序中要用到的运行期间包。运行期间包已经在“工程选项”对话框中列举的,不必再在命令行中添加。
Disable implicit compilation (-Z) option
(此选项在delphi6.0/7.0中有不同描述,在此不作翻译)
目标文件扩展名(-TX)选项
选项-TX允许你改写默认的输出文件扩展名。例如:
dcc32 MYSTUFF -TXSYS
生成的将是一个叫做MYSTUFF.SYS的文件。
Quiet (-Q) option
安静模式(-Q)选项
安静模式选项禁止在编译时显示文件名及代码行数,如果命令行编译器调用这个选项的话。
它的输出仅限于起始时行版权信息以及结尾的统计信息。当然,如果发生错误,它也会输出。
DCC32.CFG file
DCC32.CFG配置文件
你可以设置一个编译选项列表到一个叫做DCC32.CFG的配置文件中,它将用于编译时附加到命令行参数后。配置文件的每一行都相当于一个额外的命令行参数插入到实际的命令行参数前(注意,是实际参数前)。因而,你可以使用这个配置文件改变一些命令行参数的默认设置。
命令行编译器允许你输入相同的命令行参数,它将忽略所有除最后一个之外。这个的话,尽管通过配置文件你可以改变一些设置,你仍然可以覆盖它使用命令行参数。
当dcc32启动时,它查找DCC32.CFG文件在当前目录。如果文件没有找到,dcc32会查找它所在的目录。
以下是一个DCC32.CFG配置文件的例子,定义了关于文件包含、OBJ文件包含、单元文件搜索路径信息,并改变了编译器指令$O和$R的默认值。
-IC:/DELPHI/INC;C:/DELPHI/SRC
-OC:/DELPHI/ASM
-UC:/DELPHI/UNITS
-$R+
-$O-
现在,如果你输入:
dcc32 MYSTUFF
编译器把它当作你输入如下命令:
dcc32 -IC:/DELPHI/INC;C:/DELPHI/SRC -OC:/DELPHI/ASM -UC:/DELPHI/UNITS -$R+ -$O- MYSTUFF
调试选项
编译器有两个命令行参数可以生成外部调试信息:MAP文件选项和调试信息选项。
Map file (-G) options
Map文件(-G)选项
选项-G指示命令行编译器生成一个.map文件来查看一个可执行文件的布局。不同于可二进制的可执行文件和.dcu文件,.map文件是一个可读的文本文件,可以被打印或是其它文本编辑器编辑。选项-G后必须跟字符S、P或D,去决定你想要在.map文件列出的信息。一个.MAP文件被分成三个节:
Segment
Publics
Line Numbers
-GS选项只输出Segment Section,-GS选项输出Segment和Publics,-GD输出所有的三个Sections.-GD选项也生成一个扩展名为.DRC的文件包含所有的用resourcestring关键字声明的字符串常量。
用默认的编译选项{$D+,L+}编译模块(程序或单元),Publics Section列举所有的全局变量、过程和函数,Line Numbers Section列举模块中所有的过程和函数的行号。如果用{$D+,L-}编译选项编译模块,Publics Section中仅列举在单元的interface部分定义的符号。如果用{$D-}选项编译模块,在Line Numbers Section没有任何入口。
调度选项(-V)
选项-V、-VN、-VR会指示编译器生成调试信息,它们能在命令行中组合使用。
生成Turbo Debugger使用的调试信息的选项(-V)
当你在命令行中使用-V选项时,编译器会在可执行文件的末尾附加与Turbo Debugger5.0一致的外部调试信息。Turbo Debugger包含代码和硬件级别的强大的断点。
虽然附加调试信息到查执行文件中会使可执行文件增大,但是它并不影响实际可执行文件中的可执行代码,也不需要额外的内存来启动程序。
3. 如何在linux中安装gcc编译器
2004年4月20日最新版本的GCC编译器3.4.0发布了。目前,GCC可以用来编译C/C++、FORTRAN、JAVA、OBJC、ADA等语言的程序,可根据需要选择安装支持的语言。GCC 3.4.0比以前版本更好地支持了C++标准。本文以在Redhat Linux上安装GCC3.4.0为例,介绍了GCC的安装过程。
安装之前,系统中必须要有cc或者gcc等编译器,并且是可用的,或者用环境变量CC指定系统上的编译器。如果系统上没有编译器,不能安装源代码形式的GCC 3.4.0。如果是这种情况,可以在网上找一个与你系统相适应的如RPM等二进制形式的GCC软件包来安装使用。本文介绍的是以源代码形式提供的GCC软件包的安装过程,软件包本身和其安装过程同样适用于其它Linux和Unix系统。
系统上原来的GCC编译器可能是把gcc等命令文件、库文件、头文件等分别存放到系统中的不同目录下的。与此不同,现在GCC建议我们将一个版本的GCC安装在一个单独的目录下。这样做的好处是将来不需要它的时候可以方便地删除整个目录即可(因为GCC没有uninstall功能);缺点是在安装完成后要做一些设置工作才能使编译器工作正常。在本文中我采用这个方案安装GCC 3.4.0,并且在安装完成后,仍然能够使用原来低版本的GCC编译器,即一个系统上可以同时存在并使用多个版本的GCC编译器。
按照本文提供的步骤和设置选项,即使以前没有安装过GCC,也可以在系统上安装上一个可工作的新版本的GCC编译器。
1. 下载
在GCC网站上(http://gcc.gnu.org/)或者通过网上搜索可以查找到下载资源。目前GCC的最新版本为 3.4.0。可供下载的文件一般有两种形式:gcc-3.4.0.tar.gz和gcc-3.4.0.tar.bz2,只是压缩格式不一样,内容完全一致,下载其中一种即可。
2. 解压缩
根据压缩格式,选择下面相应的一种方式解包(以下的“%”轮枣丛表示命令行提示符):
% tar xzvf gcc-3.4.0.tar.gz
或者
% bzcat gcc-3.4.0.tar.bz2 | tar xvf -
新生成的gcc-3.4.0这个目录被称为源目录,用${srcdir}表示它。以后在出现${srcdir}的地方,应该用真实的路径来替换它。用pwd命令可以查看当前路径。
在${srcdir}/INSTALL目录下有详细的GCC安装说明,可用浏览器打开index.html阅读。
3. 建立目标目录
目标目录(用${objdir}表示)是用来存放编译结果的地方。GCC建议编译后的文件不要放在源目录${srcdir]中(虽然这样做也可以),最好单独存放在另外一个目录中,而且不能是${srcdir}的子目录。
例如,可以这样建立一个叫 gcc-build 的目标目岩携录(与源目录${srcdir}是同级目录):
% mkdir gcc-build
% cd gcc-build
以下的操作主要是在目标目录 ${objdir} 下进行。
4. 配置
配置的目的是决定将GCC编译腊樱器安装到什么地方(${destdir}),支持什么语言以及指定其它一些选项等。其中,${destdir}不能与${objdir}或${srcdir}目录相同。
配置是通过执行${srcdir}下的configure来完成的。其命令格式为(记得用你的真实路径替换${destdir}):
% ${srcdir}/configure --prefix=${destdir} [其它选项]
例如,如果想将GCC 3.4.0安装到/usr/local/gcc-3.4.0目录下,则${destdir}就表示这个路径。
在我的机器上,我是这样配置的:
% ../gcc-3.4.0/configure --prefix=/usr/local/gcc-3.4.0 --enable-threads=posix --disable-checking --enable--long-long --host=i386-redhat-linux --with-system-zlib --enable-languages=c,c++,java
将GCC安装在/usr/local/gcc-3.4.0目录下,支持C/C++和JAVA语言,其它选项参见GCC提供的帮助说明。
5. 编译
% make
这是一个漫长的过程。在我的机器上(P4-1.6),这个过程用了50多分钟。
6. 安装
执行下面的命令将编译好的库文件等拷贝到${destdir}目录中(根据你设定的路径,可能需要管理员的权限):
% make install
至此,GCC 3.4.0安装过程就完成了。
6. 其它设置
GCC 3.4.0的所有文件,包括命令文件(如gcc、g++)、库文件等都在${destdir}目录下分别存放,如命令文件放在bin目录下、库文件在lib下、头文件在include下等。由于命令文件和库文件所在的目录还没有包含在相应的搜索路径内,所以必须要作适当的设置之后编译器才能顺利地找到并使用它们。
6.1 gcc、g++、gcj的设置
要想使用GCC 3.4.0的gcc等命令,简单的方法就是把它的路径${destdir}/bin放在环境变量PATH中。我不用这种方式,而是用符号连接的方式实现,这样做的好处是我仍然可以使用系统上原来的旧版本的GCC编译器。
首先,查看原来的gcc所在的路径:
% which gcc
在我的系统上,上述命令显示:/usr/bin/gcc。因此,原来的gcc命令在/usr/bin目录下。我们可以把GCC 3.4.0中的gcc、g++、gcj等命令在/usr/bin目录下分别做一个符号连接:
% cd /usr/bin
% ln -s ${destdir}/bin/gcc gcc34
% ln -s ${destdir}/bin/g++ g++34
% ln -s ${destdir}/bin/gcj gcj34
这样,就可以分别使用gcc34、g++34、gcj34来调用GCC 3.4.0的gcc、g++、gcj完成对C、C++、JAVA程序的编译了。同时,仍然能够使用旧版本的GCC编译器中的gcc、g++等命令。
6.2 库路径的设置
将${destdir}/lib路径添加到环境变量LD_LIBRARY_PATH中,最好添加到系统的配置文件中,这样就不必要每次都设置这个环境变量了。
例如,如果GCC 3.4.0安装在/usr/local/gcc-3.4.0目录下,在RH Linux下可以直接在命令行上执行或者在文件/etc/profile中添加下面一句:
setenv LD_LIBRARY_PATH /usr/local/gcc-3.4.0/lib:$LD_LIBRARY_PATH
7. 测试
用新的编译命令(gcc34、g++34等)编译你以前的C、C++程序,检验新安装的GCC编译器是否能正常工作。
8. 根据需要,可以删除或者保留${srcdir}和${objdir}目录。
4. 怎样在vs2013中使用icc英特尔编译器
自带编译器,编译C/C++的cl.exe,编译C#的csc.exe。
在VS的安装目录下找到一个vscvarsall.bat(我的在D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC下),把它拖进命令提示符中,回车运行后就能单独使用编译器。
PS:
C/C++编译:cl 源文件.c/cpp
C#编译:csc 源文件.cs
1. “cl不是可用的内部命令或可执行程序”
----原因:环境变量Path没有设置好。
----解决:在环境变量Path中添加VC的bin目录。Path= D:\Microsoft Visual Studio 9.0\VC\bin。在D:\Microsoft Visual Studio 9.0\VC\ce\bin下还有其他一些纯如编译器,看名芹绝字是交叉编译用的
2.“mspdb80.dll无法找到”
----原因:vs2008的VC\bin目录下缺少msobj80.dll、mspdb80.dll、mspdbcore.dll、mspdbsrv.exe这四个文件。
----解决:在D:\Microsoft Visual Studio 9.0\Common7\IDE下复制这四个文件到VC\bin。
3.解决以上问题以后,可以直接在命令行的任何目录下做首启编译C/C++文件了。可是又出现新状况:
“fatal error: cannot open include file”
----原因:vs2008未设置include和lib的环境变量。
----解决:
3.1在环境变量里添加变量INCLUDE,包含进VC\Include和C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include(这个是安装vs时自动安装在C盘的)两个目录
INCLUDE=D:\Microsoft Visual Studio 9.0\VC\include; C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include
3.2添加变量LIB,包含进VC\lib和C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib(这个也是安装vs时自动安装在C盘的)两个目录:
LIB=D:\Microsoft Visual Studio 9.0\VC\lib; C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib
4.提示:fatal error LNK1104: 无法打开文件“kernel32.lib”,(在IDE里面运行没有问题,因为IDE中采用了另外的封装了库)
----原因:vs2008未设置include和lib的环境变量。
----解决:在环境变量里添加变量LIB,C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib
或者将kernel32.lib直接到vc的lib目录下也可以
5. S-Functionbuilder编译时提醒未找到支持的编译器或SDK怎么解决
要看你闹衫具体的应用。 大部分模块是不需要使用编译器的,只有液宏腔少部分产品可能需要用到编译器,例如MATLAB Compiler、Stateflow,以及绝缺Simulink的加速仿真模式等。 如果你只是使用MATLAB的普通功能,可以不装编译器。
6. C++编译器
C++编译器及IDE(Dev_C++、WxDev_C++、VC等)
Dev-C++
本软件就不用说了,这是pfan论坛上的首选IDE环境;他默汪液认安装minGW作为编译器——就是windows化了的GCC编译器。版本应该是3.4;
由于其编辑器使用简单,而内核gcc3.4对c99和c++2003的支持度都比较高,所以,这个软件比较适合标准C/C++初学者!除了支持外部库,Dev-C++还支持自己的开发包,你可以从升级“包”这个功能上获得许多有用的东西;
你可以在http://www.bloodshed.net获得它的下载。
WxDev-C++
不知道是英雄落幕还是怎么的?Dev-C++已经停止更新了!最新的版本应该是4.9.9.2——不更新,这个就计较郁闷了!不过,另一波人把这个项目接了过来,在Dev-C++的基础上添加了很多的东西,比如RAD工具(就是像VB那样,能快速通过拖拉就可以做win32程序界面的工具),还修改了前作Dev-C++的一些bug。
还有就是它兼容vc6、vc7、vc8的工程设置——就是说,vc6、vc7、vc8的工程可以照搬到WxDev-C++下来使用!
当然,最大的好消息,就是,这么好的工具竟然也是免费的!
补充一下:WxDev_c++是WxWidgets与Dev_c++是结合,WxWidgets是跨平台的界面开发包,并且是开源的,目前使用的比较广泛.
下载:http://wxdsgn.sourceforge.net/
官方论坛:http://wxdsgn.sourceforge.net/index.php
Code::Blocks
这个有着怪名字的东西,是个比较新的免费IDE,当前是面向C/C++使用而开发的工具;注意,这个是开源跨平台的哦!这个软件是用插件式构架的,那么这个软件就设定成可以非常的个性化!
由于它支持多编译器,所以,它没有默认绑定编译器;由于它支持的编译器比较多,我就挑点讲:
minGW的GCC编译器、vc7还有vc8以及Borland C++ 5.5;
下载:http://www.codeblocks.org/
Ultimate++
这个软件也式跨平台的——就我看来,其最大的特点,就是有自己的GUI库!
下载:http://www.ultimatepp.org/index.html
Eclipse
这个巨大的东西,也是跨平台的——不过这个东西太燃陵肆大了点,我也就不说了——不符合简单易学的规则。
下载:http://www.eclipse.org/
VC
最后,哈哈,因为个人的原因,我把Microsoft公司的VC产品放在最后。VC6、VC7、VC8者是当前还活跃的3个ms的C/C++编译环境——不过可惜皮轿的是,他们都不是免费的!
在这里提VC的原因呢,有两点:
1. 虽然他们不免费,不过,在中国来说——等于免费,原因吗?大家心知肚明,我就不说了!
2. MS不提供大餐,甜点还是有的:
Microsoft Visual C++ Toolkit 2003
这个编译工具包——免费!
然后Microsoft Visual C++ 2005也有一个免费版!当然不是全功能的,不过对于初学者,也是够用了!
更多:http://www.compilers.net/Dir/Compilers/CCpp.htm
上面说的很清楚,不过你还是要考虑自己的具体情况,根据自己情况而定。如果做软件要求与微软系统兼容很好,当然还是用自己的东西,毕竟自己的东西自己了解。我现在用的VS2003,个人感觉挺好。
7. 在MFC下,想在CTestView类里添加一个Windows消息处理Oncreate(LPCREATESTRUCT lpcs),用编译器怎么添加
可以通过打开类向导添裤核加,在message Maps 选项卡里面 选择CTestView类 然后在右边的列表中选择WM_CREATE消息,双击或者点击添加按钮就可以了,上面是在VC6里面
VC7里面就缺御是在CTestView的属胡扮掘性选项卡上 点击添加事件找到添加
8. lpc1788单片机用mdk keil4编程头文件怎么写
两个不同的内核,基本上都要重写的
先到下面这个网站下载lpc1788的驱动库,里做漏皮面有串口的例程,keil4的和iar编译搜备器的都有,然后根据纯差例程来改:
http://www.lpcware.com/content/nxpfile/lpc177x-and-lpc178x-cmsis-compliant-standard-peripheral-firmware-driver-library-keil
9. 怎样使用c++编译器
对于初学c/c++的人,我建议最好在使用dos 环境下的编译器,这样不至于在GUI的环境(比如vc、bcb)里给弄糊涂了。那么在dos环境下如何使用c/c++的编译器了,其实很简单,下面用vc为例;
首先你告诉LIB和INCLUDE在什么地方,在就告诉编译的程序在什么地方,这样我们则携可以在任何目录下都可以使用编译器,要作到上面的,就理所当然要设定path了!设定如下:
vc:假定你的vc安装在如下目录:
C:\Program Files\Microsoft Visual Studio\VC98\Include
C:\Program Files\Microsoft Visual Studio\VC98\MFC\Include
C:\Program Files\Microsoft Visual Studio\VC98\Lib
C:\Program Files\Microsoft Visual Studio\VC98\MFC\Lib
C:\Program Files\Microsoft Visual Studio\VC98\Bin
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin
那么写一个批处理文件(autoexec.bat),内容如下:
set path=C:\Program Files\Microsoft Visual Studio\VC98\Bin;C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin (找到vc的编译器cl.exe位置,同时也可以调用MSPDB60.DLL文件)
set Include=C:\Program Files\Microsoft Visual Studio\VC98\Include;C:\Program Files\Microsoft Visual Studio\VC98\MFC\Include
set Lib=C:\Program Files\Microsoft Visual Studio\VC98\Lib;
C:\Program Files\Microsoft Visual Studio\VC98\MFC\Lib
当然如果你不用mfc也可以这样:
set path=C:\Program Files\Microsoft Visual Studio\VC98\Bin;C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin
set Include=C:\Program Files\Microsoft Visual Studio\VC98\Include
set Lib=C:\Program Files\Microsoft Visual Studio\VC98\Lib
如果你是使用的bcb的编译器,设置方法与上面类似!
那么如何在dos 用c/c++的编译器编译程序呢?
那就更简单了!如下:
C:\> CL test.cpp <回车>(呵呵,当然你可以在其他目录下去执行,只要是你编译的cpp文件返段的目录就行)
至于执行cl.exe有些什么参孙世伏数实现条件编译,就要自己去查了!:)
当然,上面的方法不适合开发大型的项目,因为很明显文档、程序管理不方便!
10. vc6.0 怎样添加wsock32.lib
首先把wsock32.lib放在当前目录(或者其他你想要的目录下)
用代码添加,#pragmacomment(lib, “悄贺wsock32.lib”)
编闭瞎译器添加,project->Setting->Link里面轿运空添加也可