编译环境

编译环境
编译环境

VC++6.0编译环境介绍(1)

大家可能一直在用VC开发软件,但是对于这个编译器却未必很了解。原因是多方面的。大多数情况下,我们只停留在“使用”它,而不会想去“了解”它。因为它只是一个工具,我们宁可把更多的精力放在C++语言和软件设计上。我们习惯于这样一种“模式”:建立一个项目,然后写代码,然后编译,反反复复调试。但是,所谓:“公欲善其事,必先利其器”。如果我们精于VC开发环境,我们是不是能够做得更加游刃有余呢?

Visual C++可新建的 Projects项目

Visual C++可新建的 File文件

Visual C++的Build设置

https://www.360docs.net/doc/3d15306149.html,pile TEST.cpp选项只编译当前文件而不调用链接器或其它工具。输出窗口将显示编译过程检查出的错误或警告信息,在错误信息处单击鼠标右键,可以得到错误代码的位置

2. Build TEST.exe 选项对最后修改过的源文件进行编译和链接

3. Rebuild All选项该选项允许用户编译所有的源文件,而不管它们何时曾经被修改过

4. Batch Build选项该选项能单步重新建立多个工程文件,并允许用户指定要建立的项目类型.VC提供了两种目标应用程序类型 Win32 Release(发行版)、Win32 Debug(调试版)。

我们先来看一下VC的处理流程,大致分为两步:编译和连接。源文件通过编译生成了.obj文件;所有.obj文件和.lib文件通过连接生成.exe文件或.dll 文件。下面,我们分别讨论这两个步骤的一些细节。

工程配置对话框在这个对话框中,左上方的下拉列表框用于选择一种工程配置,包括有Win32 Debug、Win32 Release和All Configurations(指前两种配置一起),某些选项在不同的工程配置中有不同的缺省值。左边的树形视图给出了当前工程所有的文件及分类情况。如果我们把工程“Schedule”置为高亮显示(正如图9-1那样),对话框的右边就会出现总共十个选项卡,其中列出了与工程有关的各种选项,不少选项卡中有一个Reset按钮,按下它后可以把选项卡内的各项设置恢复到生成工程时的初始值。如果我们在树形视图中选择一个文件类或一个文件,那么对话框右边的选项卡会自动减少到一个或两个,其中列出的都是与选中的文件类或文件有关的选项。

编译参数的设置。主要通过VC的菜单项Project->Settings->C/C++页来完成。我们可以看到这一页的最下面Project Options中的内容,一般如下:

/nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "_MBCS" /Fp"Debug/WritingDlgTest.pch" /Yu"stdafx.h" /Fo"Debug/" /Fd"Debug/" /FD /GZ /c

各个参数代表的意义,可以参考Project Option语法解释。比如/nologo 表示编译时不在输出窗口显示这些设置(我们可以把这个参数去掉来看看效果)等等。一般我们不会直接修改这些设置,而是通过这一页最上面的Category中的各项来完成。

1)General:一些总体设置。Warning level用来控制警告信息,None表示不显示任何警告,L1表示只显示严重的警告,L2表示显示比L1次严重的警告,L4则表示显示出所有的警告,包括那些安全忽略的警告;Warnings as errors 将警告信息当作错误处理,这样在编译完毕后就无法启动连接器来进行连接;Optimizations是代码优化,可以在Category的Optimizations项中进行更细的设置;Generate browse info用以生成.sbr文件,记录类、变量等符号信息,可以在Category的Listing Files项中进行更多的设置。Debug info,生成调试信息:None,不产生任何调试信息(编译比较快);Line Numbers Only,仅生成全局的和外部符号的调试信息到.OBJ文件或.EXE文件,减小目标文件的尺寸;C 7.0- Compatible,记录调试器用到的所有符号信息到.OBJ文件和.EXE

文件;Program Database,创建.PDB文件记录所有调试信息;Program Database for "Edit & Continue",创建.PDB文件记录所有调试信息,并且支持调试时编辑。

2)C++ Language:pointer_to_member representation用来设置类定义/引用的先后关系,一般为Best-Case Always表示在引用类之前该类肯定已经定义了;Enable Exception Handling,进行同步的异常处理;Enable Run-Time Type Information迫使编译器增加代码在运行时进行对象类型检查;Disable Construction Displacements,设置类构造/析构函数调用虚函数问题。

3)Code Generation:Processor表示代码指令优化,可以为80386、80486、Pentium、Pentium Pro,或者Blend表示混合以上各种优化。Use run-time library 用以指定程序运行时使用的运行时库(单线程或多线程,Debug版本或Release 版本),有一个原则就是,一个进程不要同时使用几个版本的运行时库。Single-Threaded,静态连接LIBC.LIB库;Debug Single-Threaded,静态连接LIBCD.LIB库;Multithreaded,静态连接LIBCMT.LIB库;Debug Multithreaded,静态连接LIBCMTD.LIB库;Multithreaded DLL,动态连接MSVCRT.DLL库;Debug Multithreaded DLL,动态连接MSVCRTD.DLL库。连接了单线程库就不支持多线程调用,连接了多线程库就要求创建多线程的应用程序。Calling convention 可以用来设定调用约定,有三种:__cdecl、__fastcall和__stdcall。各种调用约定的主要区别在于,函数调用时,函数的参数是从左到右压入堆栈还是从右到左压入堆栈;在函数返回时,由函数的调用者来清理压入堆栈的参数还是由函数本身来清理;以及在编译时对函数名进行的命名修饰(可以通过Listing Files 看到各种命名修饰方式)。Struct member alignment用以指定数据结构中的成员变量在内存中是按几字节对齐的,根据计算机数据总线的位数,不同的对齐方式存取数据的速度不一样。这个参数对数据包网络传输等应用尤为重要,不是存取速度问题,而是数据位的精确定义问题,一般在程序中使用#pragma pack来指定。

4)Customize:Disable Language Extensions,表示不使用微软为标准C

做的语言扩展;Eliminate Duplicate Strings,主要用于字符串优化(将字符串放到缓充池里以节省空间),使用这个参数,使得

char *sBuffer = "This is a character buffer";

char *tBuffer = "This is a character buffer";

sBuffer和tBuffer指向的是同一块内存空间;Enable Function-Level Linking ,告诉编译器将各个函数按打包格式编译;Enables minimal rebuild,通过保存关联信息到.IDB文件,使编译器只对最新类定义改动过的源文件进行重编译,提高编译速度;Enable Incremental Compilation,同样通过.IDB文件保存的信息,只重编译最新改动过的函数;Suppress Startup Banner and Information Messages,用以控制参数是否在output窗口输出。

5) Listing Files:Generate browse info的功能上面已经提到过。这里可以进行更多的设置。Exclude Local Variables from Browse Info表示是否将局部变量的信息放到.SBR文件中。Listing file type可以设置生成的列表信息文件的内容:Assembly-Only Listing仅生成汇编代码文件(.ASM扩展名);Assembly With Machine Code生成机器代码和汇编代码文件(.COD扩展名);Assembly With Source Code生成源代码和汇编代码文件(.ASM扩展名);

Assembly, Machine Code, and Source生成机器码、源代码和汇编代码文件(.COD 扩展名)。Listing file name为生成的信息文件的路径,一般为Debug或Release 目录下,生成的文件名自动取源文件的文件名。

6)Optimizations:代码优化设置。可以选择Maximize Speed生成最快速的代码,或Minimize Size生成最小尺寸的程序,或者Customize定制优化。定制的内容包括:

Assume No Aliasing,不使用别名(提高速度);

Assume Aliasing Across Function Calls,仅函数内部不使用别名;

Global Optimizations,全局优化,比如经常用到的变量使用寄存器保存,或者循环内的计算优化,如

i = -100;

while( i < 0 ){ i += x + y;}

会被优化为

i = -100;

t = x + y;

while( i < 0 ){i += t;}

Generate Intrinsic Functions,使用内部函数替换一些函数调用(提高速度);

Improve Float Consistency,浮点运算方面的优化;

Favor Small Code,程序(exe或dll)尺寸优化优先于代码速度优化;

Favor Fast Code,程序(exe或dll)代码速度优化优先于尺寸优化;

Frame-Pointer Omission,不使用帧指针,以提高函数调用速度;

Full Optimization,组合了几种参数,以生成最快的程序代码。

Inline function expansion,内联函数扩展的三种优化(使用内联可以节省函数调用的开销,加快程序速度):Disable不使用内联;Only __inline,仅函数定义前有inline或__inline标记使用内联;Any Suitable,除了inline 或__inline标记的函数外,编译器“觉得”应该使用内联的函数,都使用内联。

7)Precompiled Headers:预编译头文件的设置。

预编译头的概念:所谓的预编译头就是把一个工程中的那一部分代码,预先编译好放在一个文件里(通常是以.pch为扩展名的),这个文件就称为预编译头文件这些预先编译好的代码可以是任何的C/C++代码--------甚至是inline的函数,但是必须是稳定的,在工程开发的过程中不会被经常改变。如果这些代码被修改,则需要重新编译生成预编译头文件。你可将将一些公共的、不大变动的头文件(比如FILEX.h等)集中放到stdafx.h中,这一部分代码就不必每次都重新编译(除非是Rebuild All)。注意生成预编译头文件是很耗时间的。同时你得注意预编译头文件通常很大,通常有6-7M大。使用预编译可以提高重复编译的速度。

也许你会问:现在的编译器都有Time stamp的功能,编译器在编译整个工程的时候,它只会编译那些经过修改的文件,而不会去编译那些从上次编译过,到现在没有被修改过的文件。那么为什么还要预编译头文件呢?答案在这里,我们知道编译器是以文件为单位编译的,一个文件经过修改后,会重新编译整个文件,当然在这个文件里包含的所有头文件中的东西(.eg Macro, Preprocessor )都要重新处理一遍。VC的预编译头文件保存的正是这部分信息。以避免每次都要重新处理这些头文件。

1.这里是使用工程里的设置,/Yu”stdafx.h”。如果使用了/Yu,就是说使

用了预编译,我们在每个.cpp文件的最开头,我强调一遍是最开头,包含你指定产生pch文件的.h文件(默认是stdafx.h)不然就会有问题。如果你没有包含这个文件,就告诉你Unexpected file end. 如果你不是在最开头包含的

2.如果你把pch文件不小心丢了,最简单的办法就是选中第一个选项“Not using....",这样就根本不用预编译头也不去寻找pch文件,就不会出错了,但是这样做的后果是每次编译、连接都化更多的时间。也可以选第二个选

项”Automatic use of",然后在“Through header”力填上stdafx.h,这样如果没有pch文件系统会自动生成一个pch,如果有的话就使用这个pch,这个选项是比较“智能”的。第三个选项是强行创建一个pch文件,第四个选项是直接使用pch文件。当然“Through headers”里都填stdafx.h了。

让编译器生成一个pch文件就可以了。也就是说把 stdafx.cpp(即指定/Yc 的那个cpp文件)从新编译一遍就可以了。当然你可以傻傻的 Rebuild all。

8) Preprocessor:预编译处理。我们可以在这里预先定义一些宏名,指定部分或所有符号具有未定义状态。Additional include directories,可以指定额外的包含目录,一般是相对于本项目的目录,如..\Include

VC++6.0编译环境介绍(2)

2009-06-30 16:04

Link连接参数的设置。

主要通过VC的菜单项Project->Settings->Link页来完成。我们可以看到这一页的最下面Project Options中的内容,一般如下:

/nologo /subsystem:windows /incremental:yes

/pdb:"Debug/WritingDlgTest.pdb" /debug /machine:I386

/out:"Debug/WritingDlgTest.exe" /pdbtype:sept

下面我们分别来看一下Category中的各项设置。

1. General:一些总体设置。可以设置生成的文件路径、文件名如在“Output file name:”下面的编辑框中可输入:“C:\bin\TEST.exe”;连接的库文件;Generate debug info,生成Debug信息到.PDB文件(具体格式可以在Category->Debug中设置);Ignore All Default Libraries,放弃所有默认的库连接;Link Incrementally,通过生成. ILK文件实现递增式连接以提高后续连接速度,将使程序可以在上一次编译的基础上被编译(即增量编译),而不必每次从头开始编译,这种方式下生成的文件(EXE或DLL)较大;Generate Mapfile,生成.MAP文件记录模块相关信息;Enable Profiling,这个参数通常与Generate Mapfile参数同时使用,而且如果产生Debug信息的话,不能用.PDB文件,而且必须用Microsoft Format。

2. Customize:这里可以进行使用程序数据库文件的设置。选中Use program database允许使用程序数据库,这样连接器会把调试信息放在程序数据库中,如果不选中该选项,那么也不能使用递增连接方式。Force File Output ,即使某个模块引用了一些未定义或者重复定义的符号,连接器仍然会强制(但不一定能正确运行)产生输出文件(EXE或DLL);Print Progress Messages,可以将连接过程中的进度信息输出到Output窗口。

3. Debug:设置是否生成调试信息,以及调试信息的格式。格式可以有Microsoft Format、COFF Format(Common Object File Format)和Both Formats (两种都有)三种选择;Separate Types,表示将Debug格式信息以独立的.PDB 文件存放,还是直接放在各个源文件的.PDB文件中。选中的话,表示采用后者的方式,这种方式调试启动比较快。

4. Input:这里可以指定要连接的库文件,放弃连接的库文件。还可以增加额外的库文件目录,一般是相对于本项目的目录,如..\Lib。Force Symbol References,可以指定连接特定符号定义的库。如在“Object/library Modules:”下面的编辑框中输入:“TestDll.lib”;在“Additional libr ary path:”下面的编辑框中输入:“C:\bin”。可用Workspace另一个工程编译的静态库

5.Output:Base Address可以改变程序默认的基地址(EXE文件默认为

0x400000,DLL默认为0x10000000),操作系统装载一个程序时总是试着先从这个基地址开始。Entry-Point Symbol可以指定程序的入口地址,一般为一个函数名(且必须采用__stdcall调用约定)。一般Win32的程序,EXE的入口为WinMain,DLL的入口为DllEntryPoint;最好让连接器自动设置程序的入口点。默认情况下,通过一个C的运行时库函数来实现:控制台程序采用mainCRTStartup (或wmainCRTStartup)去调用程序的main (或wmain)函数;Windows程序采用WinMainCRTStartup (或 wWinMainCRTStartup)调用程序的WinMain (或 wWinMain,必须采用__stdcall调用约定);DLL采用

_DllMainCRTStartup调用DllMain函数(必须采用__stdcall调用约定)。Stack allocations,用以设置程序使用的堆栈大小(请使用十进制),默认为1兆字节。Version Information告诉连接器在EXE或DLL文件的开始部分放上版本号。一般情况下都不用改变。

值得注意的是,上面各个参数是大小写敏感的;在参数后加上“-”表示该参数无效;各个参数值选项有“*”的表示为该参数的默认值;可以使用页右上角的“Reset”按钮来恢复该页的所有默认设置。

9)Resources选项卡 Resources选项卡控制着VC6的资源编译器。如图9-5所示,我们可以指定编译后生成的资源文件的路径,资源的语言类型,以及额外的资源包含目录。

MIDL选项卡这个选项卡与COM(组件对象模型)编程有关,我们不讨论它。

10)Browse Info选项卡在这个选项卡中,我们可以指定是否在建立工程的同时也生成浏览信息文件,有了这个文件后,我们就能够在文本编辑器中通过关联菜单的相应命令快速定位到某个符号的定义或引用的地方。

11)Pre-link step

这个选项卡用于添加在连接之前要执行的命令。

l2) Post-build step

这个选项卡用于添加在工程建立完毕之后要执行的命令如“copy

debug\TestDll.lib C:\bin\TestDll.lib” 并在C盘下建一个bin目录做的件事情就是把TestDLL.lib拷贝到C:\bin所在的文件夹中

其它一些参数设置。

13) Project->Settings->General,可以设置连接MFC库的方式(静态或动态)。如果是动态连接,在你的软件发布时不要忘了带上MFC的DLL。第二个选项用于指定在编译连接过程中生成的中间文件和输出文件的存放目录,对于调试版本来说,缺省的目录是工程下面的“Debug”子目录。最下面的第三个选项用于指定是否允许每种工程配置都有自己的文件依赖关系(主要指头文件),由于绝大多数工程的调试版本和发布版本都具有相同的文件依赖关系,所以通常不需要更改该选项。

14) Project->Settings->Debug,可以设置调试时运行的可执行文件,如果正在编写的程序是一个DLL,那么应在此处指定一个用来调试该DLL的EXE文件。另外三个选项可以指定用于调试的工作目录,开始调试时给程序传送的命令行参数,以及进行远程调试时可执行文件的路径。把类别切换到Additional DLLs 后,我们可以指定在开始调试时是否为一些额外的DLL装载调试符号信息,只有装载了符号信息后才能跟踪进DLL。

15)Project->Settings->Custom Build,可以设置编译/连接成功后自动执行一些操作。比较有用的是,写COM时希望VC对编译通过的COM文件自动注册,可以如下设置:

Description: Register COM

Commands: regsvr32 /s /c $(TargetPath)

echo regsvr32 exe.time > $(TargetDir)\$(TargetName).trg

Outputs: $(TargetDir)\$(TargetName).trg

16)Tools->Options->Directories,设置系统的Include、Library路径。

一些小窍门

1) 有时候,你可能在编译的时候,计算机突然非法关机了(可能某人不小心碰了电源或你的内存不稳定等原因)。当你重启机器后打开刚才的项目,重新进行编译,发现VC会崩掉。你或许以为你的VC编译器坏了,其实不然(你试试编译其它项目,还是好的!),你只要将项目的.ncb、.opt、.aps、.clw文件以及Debug、Release目录下的所有文件都删掉,然后重新编译就行了。

2) 如果你想与别人共享你的源代码项目,但是把整个项目做拷贝又太大。你完全可以删掉以下文件:.dsw、.ncb、.opt、.aps、.clw、. plg文件以及Debug、Release目录下的所有文件。

3) 当你的Workspace中包含多个Project的时候,你可能不能直观地、一眼看出来哪个是当前项目。可以如下设置:Tools->Options->Format,然后在Category中选择Workspace window,改变其默认的字体(比如设成Fixedsys)就行了。

4) 如何给已有的Project改名字?将该Project关掉。然后以文本格式打开.dsp文件,替换原来的Project名字即可。

5) VC6对类成员的智能提示功能很有用,但有时候会失灵。你可以先关掉项目,将.clw和.ncb删掉,然后重新打开项目,点击菜单项View->ClassWizard,在弹出的对话框中按一下“Add All”按钮;重新Rebuild All。应该可以解决问题。

断点

断点是调试器设置的一个代码位置。当程序运行到断点时,程序中断执行,回到调试器。断点是最常用的技巧。调试时,只有设置了断点并使程序回到调试器,才能对程序进行在线调试。

设置断点:可以通过下述方法设置一个断点。首先把光标移动到需要设置断点的代码行上,然后按F9快捷键弹出Breakpoints对话框,方法是按快捷键CTRL+B 或ALT+F9,或者通过菜单Edit/Breakpoints打开。打开后点击Break at编辑框的右侧的箭头,选择合适的位置信息。一般情况下,直接选择line xxx就足够了,如果想设置不是当前位置的断点,可以选择Advanced,然后填写函数、行号和可执行文件信息。

去掉断点:把光标移动到给定断点所在的行,再次按F9就可以取消断点。同前面所述,打开Breakpoints对话框后,也可以按照界面提示去掉断点。

条件断点:可以为断点设置一个条件,这样的断点称为条件断点。对于新加的断点,可以单击Conditions按钮,为断点设置一个表达式。当这个表达式发生改变时,程序就被中断。底下设置包括“观察数组或者结构的元素个数”,似乎可以设置一个指针所指向的内存区的大小,但是我设置一个比较的值但是改动范围之外的内存区似乎也导致断点起效。最后一个设置可以让程序先执行多少次然后才到达断点。

设置条件断点一定要先设置断点的位置,不是说条件断点就不需要再程序中设置停止行。

在vc当中如何进行条件断点调试,比如希望停止在for循环的第25次

if (i == 24)

{

i= i;//这一句废,为的是断点能加在这儿

}

加调试代码condition中i==24

想要设定条件为一个字符串指针等于某个字串时,比较麻烦可以用类型转换来实现,比如设置char型指针str在等于"2002"时停止,那么我们就在条件里设置 *(DWORD*)(str) == 0x32303032 就好了。如果有其他条件在用||和&&就好了。比如要求紧接着2002的还必须是1111,那么我们在刚才的条件后面加上 && *(DWORD*)(str + 4) == 0x31313131。

数据断点:数据断点只能在Breakpoints对话框中设置。选择“Data”页,就显示了设置数据断点的对话框。在编辑框中输入一个表达式,当这个表达式的值发生变化时,数据断点就到达。一般情况下,这个表达式应该由运算符和全局变量构成,例如:在编辑框中输入 g_bFlag这个全局变量的名字,那么当程序中有g_bFlag= !g_bFlag时,程序就将停在这个语句处。

消息断点:VC也支持对Windows消息进行截获。他有两种方式进行截获:窗口消息处理函数和特定消息中断。

在Breakpoints对话框中选择Messages页,就可以设置消息断点。如果在上面那个对话框中写入消息处理函数的名字,那么每次消息被这个函数处理,断点就到达(我觉得如果采用普通断点在这个函数中截获,效果应该一样)。如果在底下的下拉列表框选择一个消息,则每次这种消息到达,程序就中断。

文件扩展名解读大全

.DEV DEV C++项目工程文件

.APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度。资源辅助文件。

.BMP:位图资源文件。

.BSC:浏览信息文件,由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。用于浏览项目信息的,如果用source brower的话就必须有这个文件。可以在project options里去掉Generate Browse Info File,这样可以加快编译进度。

.C:用C语言编写的源代码文件。

.CLW:ClassWizard生成的用来存放类信息的文件。classwizard信息文件,ini文件的格式。

.CNT:用来定义帮助文件中“Contents”的结构。

.CPP或.CXX:用C++语言编写的源代码文件。

.CUR:光标资源文件。

.DEF:模块定义文件,供生成动态链接库时使用。

.DLG:定义对话框资源的独立文件。这种文件对于VC工程来说并非必需,因为VC一般把对话框资源放在.RC资源定义文件中。

.DSP:VC开发环境生成的工程文件,VC4及以前版本使用MAK文件来定义工程。项目文件,文本格式。

.DSW:VC开发环境生成的WorkSpace文件,用来把多个工程组织到一个WorkSpace中。工作区文件,与.dsp差不多。

.EXP:由LIB工具从DEF文件生成的输出文件,其中包含了函数和数据项目的输出信息,LINK工具将使用EXP文件来创建动态链接库。只有在编译DLL时才会生成,记录了DLL文件中的一些信息。

.H、.HPP或.HXX:用C/C++语言编写的头文件,通常用来定义数据类型,声

实验报告_实验1 C程序的运行环境和运行方法()

实验报告_实验1 C程序的运行环境和运行方法 一、实验目的: 1、熟悉VS 2005/2008/2010的下载、安装及使用,能够在IDE环境中编辑、编译、链接、运行C程序; 2、熟悉C程序的基本结构,能够参考例题代码编写简单C程序; 3、熟悉C语言中注释的用法。 二、实验内容 说明:基础题为必做题,提高题为选做题 1、(基础题) 操作内容:请学生建立新项目(lab_1_1),输入下列代码,并编译、链接、运行:(独立完成) 程序代码: #include int main( ) { printf ("This is a C program.\n"); return 0; }

问题:C程序的编译、链接、运行可以一次性完成吗?清理、重新生成项目(或程序)有什么作用? 答:可以,生成:如果程序没有编译过就全部编译,已编译过的只编译修改的部分,从新生成:先清除一遍,再对所有文件编译。 2、(基础题) 请学生上机编译下列程序,修改其错误,再运行: #include ; main( ) { int a scanf(“%d”,a); Printf(“%d*%d=%d”,a,a,a*a); ] 修改后的程序代码: #include int main() { int a; scanf(“%d”,a); printf(“%d%d%d”,a,a,a*a); return 0; } 3、(基础题)请参考例题代码,按下列要求,写出相应的C程序: 程序代码:#include

int main() { printf(" *\n"); printf(" **\n"); printf(" ***\n"); printf(" ****\n"); printf("*****\n"); return 0; } 4、(提高题)请参考例题代码,按下列要求,写出相应的C程序: 输入圆的半径,输出其周长与面积; 程序代码: #include #define Pi 3.14 int main() { float r,l,s,pi; scanf("%f",&r); l=2*pi*r; s=pi*r*r; printf("%d%d\n",s,l); return 0; }

客户端编译环境说明

一、软件 1)VS2013(C++11特性在VS2012以上可以使用);传送门: 2)Cocos2d-x 代码的版本是3.12 3)JDK;传送门:1.8 4)NDK;传送门:NDK_11E 5)ANT;传送门:1.9.7 6)Python;传送门:2.7 二、软件安装与环境配置 1、VS环境安装 2、JDK环境安装:右击计算机->属性->高级系统设置->环境变量(分为用户变量和系统变量); 1)安装:直接点击下一步即可安装完成。 2)配置环境变量:a)在系统或用户变量中新加环境变量JAVA_HOME为JDK的路径,如:E:/Java,java为JDK安装文件夹;b)把”%JAVA_HOME%/bin”加入到系统变量的Path 中,记得用分号隔开。在用户变量中添加CLASSPATH变量为“.;%JAVA_HOME%/lib;”注意前面还有个点。JDK环境配置完成。 3)开始->运行->cmd或win+R进入DOS窗口:输入java -version查看JDK是否安装成功。重启DOS窗口,环境配置成功。 3、ANT环境安装: 1)解压apache-ant-1.9.3-bin.zip,ant是一个批处理工具; 2)设置ANT_ROOT,如:E:/cocos/apache-ant-1.9.3/bin,bin是我ant安装目录下的bin文件夹,ANT_ROOT环境变量在系统用户中添加 3)把“%ANT_ROOT%”加入到系统变量Path中,记得分号隔开。 4、ADT环境安装(包括SDK和Eclipse)

1)解压adt-bundle-windows-x86-20140624.zip; 2)设置ANDROID_SDK_ROOT环境,系统变量中增加。值 如:”E:/cocos/adt-bundle-windows-x86-20140624/sdk“; 3)把“%ANDROID_SDK_ROOT%/tools”和“ANDROID_SDK_ROOT%/platform-tools“加入系统Path变量中,记得分号隔开。 4)安装完ADT,将Eclipse目录下的eclipse.exe添加到桌面,双击即可完成eclipse 的ADT环境的安装。 5)进入DOS下,输入:adb -h查看是否配置成功,关闭DOS重启即可配置成功。 5、安装NDK:Cocos2d-x3.10对NDK的要求r9d 1)解压android-ndk-r9d-windows-x86.zip; 2)设置环境变量,在系统变量中增加。值如:”E:/cocos/android-ndk-r9d“; 3)把”%NDK_ROOT%“加入到系统变量Path中,记得分号隔开。 6、安装Python:下 1)载并安装Python-2.7.5.msi(必须为2.7版本) 2)把Python的环境加入到系统Path变量中,值如:“E:/Python27”; 最终Path如下: “E:/Python27;%JAVA_HOME%/bin;%ANDROID_SDK_ROOT%/tools;%ANDR OID_SDK_R OOT%/platform-tools;%ANT_ROOT%;%NDK_ROOT%;" 环境配置成功后重启或者关闭DOS或计算机即可更新环境变量。 进入Cocos2d-x3.10根目录,在DOS下执行setup.py看看以上路径是否存在并正确配置,如果成功如下图:并且在用户环境变量下自动生成COCOS_CONSOLE_ROOT环境变量。 三、创建Cocos2d-x3.10新项目

实验一 C程序的运行环境和运行C程序的方法实验报告

实验一C程序的运行环境和运行C程序的方法 1.实验目的: (1)了解所用的计算机系统的基本操作方法,学会独立使用该系统 (2)了解在该系统上如何编辑,编译、连接和运行一个C程序 (3)通过运行简单的C程序,初步了解C源程序的特点 2. 实验内容和步骤 (1)检查所用的计算机系统是否已安装了C 编译系统并确定它所在的子目录(2)进入所用的集成环境 (3)熟悉集成环境的界面和有关菜单的使用方法 (4)输入并运行一个简单的、正确的程序 输入下面的程序 # include void main() { printf(“This is a c program..\n”); } ①下面是屏幕上显示的编译信息。无错,进行连接。 --------------------Configuration: L1 - Win32 Debug-------------------- Compiling... L1.c L1.obj - 0 error(s), 0 warning(s) ②连接无错误,使程序运行,观察分析运行结果。 --------------------Configuration: L1 - Win32 Debug-------------------- Linking... L1.exe - 0 error(s), 0 warning(s) 运行输出结果 This is a c program. Press any key to continue This is a c program. Press any key to continue 分析:输入自己编写的源程序,检查程序有无语法错误,可以通过编译来实现,它会自动查出程序的语法错误,如果有错误应该找出原因,并改正过来,再进行编译和连接,仔细分析编译信息,确定没错误就可以运行程序,输入数据。 第一个程序运行的结果是This is a c program.。符合我们原来设计这个程序的目的,说明这个程序是正确的。 (5)输入并编辑一个有错误的C程序 输入程序 #include

常用单片机编译环境及下载工具的使用

常用单片机编译环境及下载工具的使用 二、环境使用简介说明 1.AVR Studio 4 打开软件,进入欢迎界面。显示出最近打开过的工程文件,选择一个,按“Open” 或双击可直接进入工程。

如果想新建一个工程,选择“New Project”。 在“Location”处,按右侧的按钮可选择工程存放的路径。在“Project name” 处可输入工程名,“Initial file”默认和工程名称相同。 按“Next” 在此处选择器件,“Debug platform”选择“AVR Simulator”,“Device”选择“ATmega8”或“ATmega128”。此时不选择,也可以在进入工程后,选择“Debug”菜单下的“Select Platform and Device”更改。 选择好后,按“Finish”完成。进入工程,编辑“avrsudio.asm”工程文件,按“Build”进行编译。

还有编译出来的程序,占用的空间大小。

如果编译出错,会显示红灯,在此显示出错信息,双击显示红灯的行,可直接定位出错的位置,黄灯提示是无错误,只有告警。 常见错误: 改过程序后,要保存后再编译,否则编译出的程序为上次保存的代码。 2. ICC AVR 打开软件后,一般都会打开上次退出时打开的工程,如果是第一次打开,可以选择“Project”下的“New”来新建一个工程

在此处选择路径和工程名称,点“保存”。 点击第一个工具图标,新建一个文件,鼠标放在上面会出现,“New File”的提示。现在可以写程序了,保存为.c的文件。 在右侧“file”处,单击鼠标右键,选择“Add File(s)”,把刚才的文件加入工程里。选择“Options”或工具图标的“Project Options”,“STOP”图标后面的一个。

嵌入式操作系统实验一建立交叉编译环境

嵌入式操作系统实验一建 立交叉编译环境 Last updated on the afternoon of January 3, 2021

嵌入式操作系统实验报告 队友:张圣苗亚 实验内容 1、准备工作工作:安装virtualbox虚拟机工具,并安装系统、增强型工具,实现共享文件夹的自动挂载。 2、利用crosstool提供的脚本安装和相关资源编译面向的ARM的GCC工具。 详细内容1:安装虚拟机软件和虚拟机时要完成的主要步骤有:安装virtualbox,建立一台虚拟机,分配内存和硬盘,指定共享文件夹(主机和虚拟机可共同操作),指定操作系统镜像文件路径(相当于光盘,第一次启动时安装),安装虚拟操作系统,安装增强工具包,实现共享文件夹的自动挂载。有几点需要注意: 1、虚拟硬盘尽量分配大一些,之后再扩就比较麻烦。 2、共享文件夹不要有中文路径,不然挂载后看不到中文名称文件。 3、安装操作系统时,不能断网,需要下载各种资源,不然会异常。 详细内容2需要安装与脚本相关的工具,需要修改crosstool中的配置文件以指定编译的目标位arm-linux。需要修改需要的资源 实验步骤 实验准备: 在实验准备中,在安装完增强工具包()并重启之后,需要实现对共享文件夹的自动挂载,只需要修改etc目录中的配置文件,是很多linux系统管理员的偏爱,因为凡是需要随系统自动启动的服务、程序等,都可以放在里面。 $sudomkdir/mnt/share $sudomount-tvboxsfembedded/mnt/shared 上面三句话实现了将共享文件夹embeded挂载到了share上。 gedit/etc/ 将第2句命令添加在exit之前,实现了自动挂载功能。 实验一 一、搭建编译环境 1、安装于脚本运行相关及其他的工具bison、flex、build-essential、patch、libncurses5-dev。

嵌入式交叉编译环境的搭建

实验二、嵌入式交叉编译环境的搭建 1、实验目的: 通过本实验使学生掌握交叉编译环境的建立,了解在S3C2440上交叉编译环境搭建的原理及步骤。 2、实验设备及说明 1、安装ubuntu10及vmware的计算机 2、天嵌2440的开发板 3、实验指导书 4、天嵌开发板的超级终端设置 5、天嵌开发板开发文档 6、TQ2440使用手册v2.3---20100125 3、实验内容和步骤 1、安装交叉编译器:EABI4.3.3 ●解压EABI 工具包 命令:tar zxvf /mnt/hgfs/(根据本机压缩包存储路径输入)/EABI 4.3.3.tar.gz –C / ##将压缩包解压到根目录下 ●添加路径至全局变量PATH中 命令:PATH=$PAHT:/opt/EmbedSky/4.3.3/bin (此路径应根据本机的具体情况输入) ●查看全局变量PATH 命令:echo PATH ###查看刚才的添加是否成功 ●查看交叉编译命令是否能够使用 命令:arm-linux-gcc –v ###如果刚才解压、添加变量成功,此时输入命令后,即可以显示命令的版本信息。

2、minicom

●在线安装minicom 命令:apt-get install minicom ●在命令行中键入“minicom”,这就启动了minicom软件。 ●Minicom在启动时默认会进行初始化配置minicom -s ?CTRL+A Z,来查看minicom的帮助 ?CTRL-A O配置minicom的串口参数,选择“Serial port setup”子项,上面列出的配置是minicom启动是的默认配置,用户可以通过键入每一项前的大写字母,分别对每一项进行更改.要对波特率、数据位和停止位进行配置,键入“E”,在该配置界面中,可以键入相应波特率、停止位等对应的字母,即可实现配置,配置完成后按回车键就退出了该配置界面。在确认配置正确后,可键入回车返回上级配置界面,并将其保存为默认配置。 ?

java的开发环境和运行环境是一回事吗

Java程序开发与运行环境 Java不仅提供了一个丰富的语言和运行环境,而且还提供了一个免费的Java开发工具集(JavaDevelopersKits,简称JDK)。编程人员和最终用户可以利用这个工具来开发java 程序或调用Java内容。JDK包括以下工具:javacJava语言编译器,输出结果为Java字节码java,Java字节码解释器javapDisassembeler:Java字节码分解程序,本程序返回Java程序的成员变量及方法等信息。javaprof资源分析工具,用于分析Java程序在运行过程中调用了哪些资源,包括类和方法的调用次数和时间,以及各数据类型的内存使用情况等。javahC代码处理工具,用于从Java类调用C++代码javaAppletViewer小应用程序浏览工具,用于测试并运行Java小应用程序javaDebuggerAPIJava调试工具APIPrototypeDebuggerJava调试工具原型 Java开发环境还包括Java类库(包括I/O类库、用户界面类库、网络类库等)和HotJavaWWW浏览器。其中,HotJava浏览器提供了在WWW环境下运行Java代码的一个运行系统,而且还为WWW开发人员提供了一个Java开发框架。Java解释器是面向Java程序的一个独立运行系统,它可以一种稳定、高性能方式运行那些独立于平台的Java 字节码,Java编译器则用于生成这种字节码。 JDK 是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。JDK由一个标准类库和一组建立,测试及建立文档的Java实用程序组成。其核心Java API是一些预定义的类库,开发人员需要用这些类来访问Java语言的功能。Java API包括一些重要的语言结构以及基本图形,网络和文件I/O.一般来说,Java API的非I/O部分对于运行Java的所有平台是相同的,而I/O部分则仅在通用Java环境中实现。 JRE(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。 在实际应用上讲,JRE的类库只是JDK所有类库里面的一小部分,只是用来支持Java运行的,把其余的调试编辑一类的应用项都去除了!

编译环境

VC++6.0编译环境介绍(1) 大家可能一直在用VC开发软件,但是对于这个编译器却未必很了解。原因是多方面的。大多数情况下,我们只停留在“使用”它,而不会想去“了解”它。因为它只是一个工具,我们宁可把更多的精力放在C++语言和软件设计上。我们习惯于这样一种“模式”:建立一个项目,然后写代码,然后编译,反反复复调试。但是,所谓:“公欲善其事,必先利其器”。如果我们精于VC开发环境,我们是不是能够做得更加游刃有余呢? Visual C++可新建的 Projects项目 Visual C++可新建的 File文件 Visual C++的Build设置

https://www.360docs.net/doc/3d15306149.html,pile TEST.cpp选项只编译当前文件而不调用链接器或其它工具。输出窗口将显示编译过程检查出的错误或警告信息,在错误信息处单击鼠标右键,可以得到错误代码的位置 2. Build TEST.exe 选项对最后修改过的源文件进行编译和链接 3. Rebuild All选项该选项允许用户编译所有的源文件,而不管它们何时曾经被修改过 4. Batch Build选项该选项能单步重新建立多个工程文件,并允许用户指定要建立的项目类型.VC提供了两种目标应用程序类型 Win32 Release(发行版)、Win32 Debug(调试版)。 我们先来看一下VC的处理流程,大致分为两步:编译和连接。源文件通过编译生成了.obj文件;所有.obj文件和.lib文件通过连接生成.exe文件或.dll 文件。下面,我们分别讨论这两个步骤的一些细节。 工程配置对话框在这个对话框中,左上方的下拉列表框用于选择一种工程配置,包括有Win32 Debug、Win32 Release和All Configurations(指前两种配置一起),某些选项在不同的工程配置中有不同的缺省值。左边的树形视图给出了当前工程所有的文件及分类情况。如果我们把工程“Schedule”置为高亮显示(正如图9-1那样),对话框的右边就会出现总共十个选项卡,其中列出了与工程有关的各种选项,不少选项卡中有一个Reset按钮,按下它后可以把选项卡内的各项设置恢复到生成工程时的初始值。如果我们在树形视图中选择一个文件类或一个文件,那么对话框右边的选项卡会自动减少到一个或两个,其中列出的都是与选中的文件类或文件有关的选项。 编译参数的设置。主要通过VC的菜单项Project->Settings->C/C++页来完成。我们可以看到这一页的最下面Project Options中的内容,一般如下:

ubuntu10.04全过程创建交叉编译环境

ubuntu10.04下建立交叉编译工具链(支持软浮点)全过程 参考了网上的不少的资料,花了五个小时终于完成了,记录下全过程供大家分享。 用到的源码包如下,建议新手全部放在/home/usr/downloads/ 目录下。以下操作在用户权限下进行。 ======================================================================= arm-linux-gcc-3.4.1.tar.gz glibc-2.3.3.tar.gz linux-2.6.8.tar.gz crosstool-0.43.tar.gz binutils-2.15.tar.gz glibc-linuxthreads-2.3.3.tar.gz binutils-2.18.tar.gz --安装用 编译一次至少要花半个小时,如果因为依赖软件没有安装中途会报错退出,只有从头再来,那样很浪费时间的。 sudo apt-get install bison flex build-essential patch libncurses5-dev 由于ubuntu10.04自带的ld ,as版本太高的原因,需要安装binutils的2.18版本,然后替换系统中的2.20版本。方法如下: $cd downloads $tar xzvf binutils-2.18.tar.gz $cd binutils-2.18 $./configure --prefix=/tmp/binutils --disable-nls (-prefix后面的是生成可执行文件存放的位置可以自己定义) $make all $make install 编译成功后在/tmp/binutils/bin/中就生成了ld和as程序的可执行文件 重新链接/usr/bin/ld 和/usr/bin/as文件 $sudo rm /usr/bin/ld /usr/bin/as //删除2.20的ld,as $sudo ln –s /tmp/binutils/bin/ld /usr/bin/ $sudo ln –s /tmp/binutils/bin/as /usr/bin/ 然后可运行ld –v 和as –v 查看版本是否为2.18。 安装2.18版本可解决出现的 ld as " version too old "问题。 2. ubuntu10.04下默认的GCC版本是4.4.3,但这个不是版本越高越好,版本太高,对语法什么的要求也高,编译不成功,降低版本吧: #sudo apt-get install gcc-4.1 //安装4.1的GCC,需要联网 #sudo rm /usr/bin/gcc //删除之前4.4.3的快捷方式,4.4.3的GCC并未删除#sudo ln -s /usr/bin/gcc-4.1 /usr/bin/gcc //建立4.1的快捷方式 这是由于crosstool中定义了GCC的版本的上下线,最高也就到4.1,在其配置的时候会对这个版本信息进行检测,不在其规定范围就报错了。 3.修改sh版本 如果运行

005_MyEclipse中编译环境和运行环境不一致的问题

MyEclipse中编译环境和运行环境不一致的问题 2012/9/12 常常我们在开发java程序的时候我们会遇到如下图所示的错误 为什么会出现这样一个问题主要是因为运行环境版本过低或则说是编译环境版本过高的问题,也就是说我们java程序使用高版本的编译器编译的而放到低版本的运行环境中运行,在高版本编译环境中编译的时候会用高版本的java规范来编译、解析java源程序,放到低版本的运行环境中后找不到高版本的里面用到的API,所以会报这样的错误 解决的问题当然是有两个: 1是用较低版本的编译环境来编译源代码,这个时候也就会限制在开发的过程中用到高版本JDK的新特性 2用较高版本的运行环境去运行在较高版本的编译去编译出来的代码 我们可以在建立一个java工程的时候就选择这些项:

上图是我们建立JavaProject的时候出现的界面,我们先看画红线1处,一般我们在MyEclipse中都会用MyEclipse默认自带的运行环境,这里面运行环境是JRE1.5点击画红线2处我们我们可以看到以下界面

我们看划红线的2处有这里是MyEclipse中自带的JRE我们可以点击1处添加一个我们想要的JRE,一般都是我们电脑中安装的JDK中代的JRE

这里我们可以点击划红线处选择我们我的运行环境

我们再找到我们安装JDK的时候会有上面如图的目录结构 划红线1处jdk1.6.0_10这里面是既有开发环境又有运行环境我们可以选它(个人习惯选它) 划红线2处jre6是我们的运行环境我们也可以选它 选择后我们可以点击3处确定然后有如下界面出现:

我们点击OK即可最后回到初始界面我们选择一下便会有

(环境管理)C的运行环境和过程

【目的与要求】 1.了解Dos、Windows环境下C语言的运行环境,了解所用的计算机系统的基本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序,初步了解C源程序的特点。 【上机内容】 【基础知识】 通过课堂上学习,我们对C语言已有了初步了解,对C语言源程序结构有了总体的认识,那么如何在机器上运行C语言源程序呢?任何高级语言源程序都要“翻译”成机器语言,才能在机器上运行。“翻译”的方式有两种,一种是解释方式,即对源程序解释一句执行一句;另一种是编译方式,即先把源程序“翻译”成目标程序(用机器代码组成的程序),再经过连接装配后生成可执行文件,最后执行可执行文件而得到结果。 C语言是一种编译型的程序设计语言,它采用编译的方式将源程序翻译成目的程序(机器代码)。运行一个C程序,从输入源程序开始,要经过编辑源程序文件(·C)、编译生成目标文件(·obj)、连接生成可执行文件(·exe)和执行四个步骤。 下面主要介绍Turbo C下运行C语言源程序。 Turbo C是美国Borland公司推出的IBM PC系列机的C语言编译程序。它具有方便、直观、易用的界面和丰富的库函数。它向用户提供了集成环境,把程序的编辑、编译、连接和运行等操作全部集中在一个界面上进行,使用十分方便。 1 Turbo C工作环境介绍 一个C语言程序的实施是从进入Turbo C的集成环境开始的,而进入C语言的环境,一般有两种途径:从DOS环境进入和从Windows环境进入。 (1) 从DOS环境进入: 在DOS命令行上键入: C>CD \TC↙(指定当前目录为TC子目录) C>TC↙(进入Turbo C环境)

搭建Java编译环境

搭建Java编译环境 2008-01-14 15:11 一、安装JDK 首先下载JDK 5.0(JDK 5.0的下载页面为: https://www.360docs.net/doc/3d15306149.html,/j2se/1.5.0/download.jsp); 然后运行JDK 5.0安装程序jdk-1_5_0_06-windows-i586-p.exe,安装过程中所有选项保持默认; 最后配置JDK的环境变量:在“我的电脑”上点右键—>“属性”—>“高级”—> “环境变量(N)”。 新建系统变量JAVA_HOME:C:\Program Files\Java\jdk1.5.0_06 新建系统变量CLASSPATH:.;%JAVA_HOME%\lib;(注意:点号表示当前目录,不能省略) 在系统变量Path的值的前面加入以下内容:%JAVA_HOME%\bin;(注意:这里的分号不能省略) 到这里,JDK安装完毕。 下面我们测试一下JDK是否安装成功: 将以下内容复制到记事本中: public class HelloJAVA { public static void main(String srg[]) { System.out.println("Hello JAVA!");

} } 另存为“HelloJAVA.java”(不含引号,下同),并保存到D盘根目录下。 在命令行依次输入下图中红线所标注的命令: 如果出现上图红框中所标注的内容,则说明JDK安装成功! 注意:如果以后要安装诸如Eclipse、Borland JBuilder、JCreator、IntelliJ IDEA等集成开发环境(IDE,Integrated Development Environment),应该在IDE 中编译运行一个简单的HelloWorld程序,以保证IDE可以识别出JDK的位置。 二、安装Tomcat 首先下载jakarta-tomcat-5.0.30.zip,之所以下载免安装版的好处是可以使用多个Tomcat(jakarta-tomcat-5.0.30.zip的下载页面为: https://www.360docs.net/doc/3d15306149.html,/tomcat/tomcat-5/v5.0.30/bin/); 然后将jakarta-tomcat-5.0.30.zip直接解压到D盘根目录:

交叉编译环境的搭建简介(精)

交叉编译环境的搭建简介 在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。简单地说,就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓平台,实际上包含两个概念:体系结构(Architecture、操作系统(Operating System。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。举例来说,我们常说的x86 Linux平台实际上是Intel x86体系结构和Linux for x86操作系统的统称;而x86 WinNT平台实际上是Intel x86体系结构和Windows NT for x86操作系统的简称。 有时是因为目的平台上不允许或不能够安装我们所需要的编译器,而我们又需要这个编译器的某些特征;有时是因为目的平台上的资源贫乏,无法运行我们所需要编译器;有时又是因为目的平台还没有建立,连操作系统都没有,根本谈不上运行什么编译器。 交叉编译这个概念的出现和流行是和嵌入式系统的广泛发展同步的。我们常用的计算机软件,都需要通过编译的方式,把使用高级计算机语言编写的代码(比如C代码编译(compile成计算机可以识别和执行的二进制代码。比如,我们在Windows平台上,可使用Visual C++开发环境,编写程序并编译成可执行程序。这种方式下,我们使用PC 平台上的Windows工具开发针对Windows本身的可执行程序,这种编译过程称为native compilation,中文可理解为本机编译。然而,在进行嵌入式系统的开发时,运行程序的目标平台通常具有有限的存储空间和 运算能力,比如常见的 ARM 平台,其一般的静态存储空间大概是16到32MB,而CPU的主频大概在100MHz到500MHz之间。这种情况下,在ARM 平台上进行本机编译就不太可能了,这是因为一般的编译工具链(compilation tool chain需要很大的存储空间,并需要很强的CPU 运算能力。为了解决这个问题,交叉编译工具就应运而生了。通过交叉编译工具,我们就可以在CPU能力很强、存储控件足够的主机平台上(比如PC上编译出针对其他平台的可执行程序。

实验1 C语言的运行环境和运行过程#完成

实验一C语言的运行环境和运行过程 班级电信132 学号201315100221 姓名林青辉 一、实验目的 1、掌握c程序设计编程环境visual c++,掌握运行一个c程序设计的基本步骤,包括编辑、编译、连接和运行。 2、掌握c语言程序设计的基本框架,能够编写简单的c程序。 3、了解程序调试的思想,能找出并改正c程序中的语法错误。 二、实验内容 1、在“我的电脑”上新建一个文件夹,用于存放c程序,文件夹名字可以是学号姓名。 2、调试示例,在屏幕上显示一个短句“Hello World!”。 源程序 #include void main() { printf(“Hello World!\n”); } 运行结果: Hello World! 基本步骤:(要求熟练掌握) (1)启动VC++ “开始”->“程序”->“Microsoft Visual Studio 6.0”->“Microsoft Visual C++6.0”进入VC++编程环境。 (2)新建文件(*.cpp) “文件”->“新建”,单击“文件”选项卡,选择“C++Source Files”,修改文件保存“目录”和“文件”(文件名),单击“确定”。 (3)编辑和保存(注意:源程序一定要在英文状态下输入,即字符标点都要在半角状态下,同时注意大小写,一般都用小写) 在编辑窗口输入源程序,然后执行“文件”->“保存”或“文件”->“另存为” (4)编译(*.obj)用来检查语法错误 “编译”->“编译”或Ctrl+F7,在产生的工作区队话框中,选择“是”。 (5)连接(*.exe) “编译”->“构件”或F7 (6)运行 “编译”->“执行”或Ctrl+F5 (7)关闭程序工作区 “文件”->“关闭工作区” (8)打开文件 “文件”->“打开” (9)查看C源文件、目标文件和可执行文件的存放位置。

实验二:交叉编译环境的建立

实验二:交叉编译环境的建立 一.实验目的 通过本实验,使学生掌握交叉编译环境的建立,了解在S3C2410平台上交叉编译的工作方式和原理。 二.实验原理和说明 1、minicom 用法: minicom 是安装REDHAT 时安装的软件,它使用配置文件/etc/minirc.dfl,华恒光盘安装时会提供这个文件。 【注意】 minicom 占用串口,能且仅能启动一个minicom,启动第二个时就会报错: Device /dev/modem is locked。其中/dev/modem 就是/dev/ttyS0,即PC 机串口1,它是在光盘安装时执行./arminst 时创建的链接。查看arminst 文件,可以看到如下一行: ln -sf /dev/ttyS0 /dev/modem minicom 所有的操作都以ctrl+A 开始,例如:退出为ctrl+A,松手后再按下Q,则弹出如下一个小框:选Yes 即可退出minicom。 minicom 中最重要的操作就是对其进行配置的修改。这个操作要先ctrl+A,松手后按下o(是字母o,option 之意,不是零),则弹出如下框: 选择第三项“Serial port setup”,则弹出下面框: 键入E 则弹出如下框,可改变波特率:

若要使用PC 机的串口2 来接开发板的串口1 做监控,则要在串口配置框中选择A,即“Serial Device”,则原来的配置框第一行进入编辑模式,将原来的/dev/modem 改为如下的:/dev/ttyS1,即串口2。 退出配置框只需连续按ESC 键即可返回。 2、HHARM9-EDU目录结构介绍 安装过我们提供的光盘以下,会在您的PC机上建立一个HHARM9-EDU的目录。在shell提示符下执行ls命令,可以显示整个PC上的目录结构: [root@…. root]# cd / [root@…. /]# ls HHARM9-EDU boot lost+found opt sbin usr dev home proc tftpboot var initrd misc root tmp bin etc lib mnt [root@….. /]# 其中在PC机(宿主机)的根目录下安装了HHARM9-EDU的目录和opt目录,其中HHARM9-EDU是开发套件的源代码、驱动、以及相应的应用程序。opt是ARM的编译器存放的目录。进入HHARM9-EDU看看。 [root@……. /]# cd / HHARM9-EDU [root@HHARM9-EDU /] # ls Images applications kernel opt.tgz gprs-ppp minirc.dfl ppcboot-2.0.0 record-image SJF 下面对以上目录作简单介绍: (1) /HHARM9-EDU/SJF/ JTAG烧写工具源码目录,在该目录下执行make,即可生成JTAG烧写工具SJF2410,它就是我们通过JTAG烧写ppcboot要用到的文件。 (2) /HHARM9-EDU/ppcboot/ bootloader源码目录,在该目录下简单的make即可生成HHARM9-EDU的bootloader - ppcboot.bin,可以通过修改这些源码来修改bootloader。 『说明』在嵌入式系统中,我们把引导系统的初始化部分的代码统称为bootloader,相当于PC机的BIOS。但在我们提供的很多套件中,有的引导代码用的是ppcboot,有的是u-boot,有的是bootloader等等,但实际烧写到flash中的文件一般为ppcboot.bin、u-boot.bin、bootloader.bin等二进制代码文件。

MTK编译环境搭建

MTK编译环境搭建 系统说明:win7 64位系统。 工具软件: (1)RVDS_3_1.zip (2)rvds4cr.zip (3)ActivePerl-5.16.2.msi (4)RVCT3.1_1021.zip 一、安装RVCT步骤 1. 将桌面主题设置为“Windows经典”(点击右键--->个性化)。 2. 解压并打开RVDS_3_1文件夹; 点击setup.exe右键进入属性--兼容性; 以兼容模式运行,选框选中Windows XP(Service Pack 3); 应用确认并退出。 3. 双击setup.exe运行,一步步安装完成。 4. 复制..\rvds4cr\rvds4.crack文件夹下所有文件到C:\Program Files\ARM目录下; 双击crack.bat,等待运行结束。 5. 开始菜单--->所有程序--->ARM--->点击运行License Wizard v4.1---> 下一步--->多选框选择“Install License”; 如下图所示,选择C:\Program Files\ARM\License目录下的License.dat; 然后add,下一步完成。 6. 重启电脑,重启之后再cmd .exe里面输入armcc验证是否安装ok。

二、安装perl 1. 运行ActivePerl-5.16. 2.msi直接一步步安装即可; 2.cmd .exe里面输入perl -vsn验证是否安装ok。 三、升级RVCT至3.1_1021 1、解压RVCT3.1_1021.zip,替换目录C:\Program Files\ARM下的RVCT和Licenses中相关的文件。 2、双击解压文件夹中的注册表文件env.reg进行注册表更新。 3、cmd .exe里面输入armcc验证RVCT是否已升级至RVCT3.1_1021。

JAVA编译环境配置

1. 实现对JAVA的编译 在配置EditPlus之前,我们先要将JAVA的运行环境安装并且调试好,这里我就不再说明了。 首先,从菜单“工具(Tools)”->“配置用户工具...”进入用户工具设置。 在类别里展开“工具”树形菜单->“用户工具”,选择“组和工具项目”中的“Group 1”,点击面板右边的“组名称...”按钮,将文本“Group1”修改成“编译JAVA程序”。 然后选择修改的组“编译JAVA程序”,点击“添加新工具”按钮,选择程序,建立“新建程序”,选中它。 然后就是最重要的步骤(修改属性): 1.1 添加编译功能 “菜单文字”里的内容修改为“JAVAC”; “命令”选择安装JDK后的BIN目录中的编译程序JAVAC.EXE,如果JDK 安装路径为“c:\jdk”,那么此路径为“c:\jdk\bin\javac.exe”; “参数”选择“文件名称”,即显示为“$(FileName)”; “初始目录”选择“文件目录”,显示为“$(FileDir)”; 选择“捕获输出”复选框。 1.2 添加执行功能 “菜单文字”里的内容修改为“JAVA”; “命令”选择安装JDK后的BIN目录中的编译程序JAVA.EXE,路径为 “c:\jdk\bin\java.exe”; “参数”选择“文件名(不含扩展名)”,即显示为“$(FileNameNoExt)”; “初始目录”选择“文件目录”,显示为“$(FileDir)”; 选择“捕获输出”复选框。 这样就完成了基本的配置工作,下面您就可以试着编写一个JAVA程序来测试一下,编译的所有信息都会显示在输出窗口中,双击某一行错误信息,EditPlus会自动定位到出错行。 2. 实现对C#的编译 与JAVA的配置步骤基本一样,只是在选择“命令”的地方要选择 “C:\WINDOWS\https://www.360docs.net/doc/3d15306149.html,\Framework\v1.0.3705\csc.exe”,这里根据系统目录的不同而有所区别,目的就是要让EditPlus找到csc.exe文件进行编译。 同样,EditPlus可以对很多程序进行编译的配置,例如汇编、C、Python等等,都要在使用的过程中慢慢体会它的方便性了。 实现的效果就是:用editplus编辑一个Java源文件,然后按CTRL + 1,编译;CTRL + 2,运行;当一个文件有多个class,你想运行其中的某一个,CTRL + 3,跳出cmd 窗口,已经指向当前目录了,然后手工输入就可以了。 4、修改Java文件模板。到editplus安装目录下,用记事本打开template.java文件,修改成你想要的新建Java文件的模板。这样每次从file 》new 》java 创建的Java文件都是模板里的格式。

搭建ppc交叉编译环境

搭建powerpc交叉编译环境 V0.1 ALL Rights Reserved, Copyright ? FUJITSU LIMITED 2013

改版履历 修改日期修改原因版本修改者2013/2/18 初版制成V0.1 yaoxt

目录 1 下载交叉编译器 (4) 1.1从本地共享下载 (4) 1.2 从ftp下载 (4) 2 安装交叉编译器 (4) 2.1 创建挂载点 (4) 2.2 挂载镜像文件 (4) 2.3 安装交叉编译器 (5) 3 配置用户.bashrc文件 (5) 3.1 在用户目录下打开.bashrc文件: (5) 3.2 添加交叉编译器可执行文件路径: (5) 3.3 指定目标机架构类型: (5) 3.4 指定交叉编译器: (5) 4 安装后测试 (6) 5 编译mpc85xx内核 (6) 5.1 下载linux内核源码 (6) 5.2 编译mpc85xx内核 (6) 5.2.1 生成.config配置文件 (7) 5.2.2 配置内核编译选项 (7) 5.2.3 编译内核 (7) 5.2.4 编译动态模块 (7) 5.2.5 安装模块 (7) 5.2.6 生成开发板mpc8544ds的dtb文件 (8)

1下载交叉编译器 ELDK是Embeded Linux Development Kit的缩写,它是德国denx提供的供PowerPC嵌入式Linux移植的完整开发环境编译套件,有:gcc,gdb,binutils等。Eldk目前支持多种PowerPC 处理器: ●ppc_8xx ------> MPC8xx处理器 ●ppc_4xx ------> 不带FPU的IBM 4xx处理器 ●ppc_4xxFP ------> 带FPU 的IBM 4xx 处理器 ●ppc_6xx ------> 6xx处理器 ●ppc_74xx ------> 74xx处理器 ●ppc_85xx ------> 不带DPU的MPC85xx处理器 ●ppc_85xxDP ------> 带DPU 的MPC85xx处理器 1.1从d enx的ftp下载 下载地址:http://ftp.denx.de/pub/eldk/ 本文选用的交叉编译工具的版本为ppc-2008-04-01.iso,下载地址: http://ftp.denx.de/pub/eldk/4.2/ppc-linux-x86/iso/ 1.2 从本地ftp下载 为方便公司内部下载使用,已将ppc-2008-04-01.iso镜像文件下载后上传至本地ftp,ftp地址为:xxxxx 2 安装交叉编译器 2.1 创建挂载点 命令:mkdir /mnt/cdrom 说明:该命令的目的是创建一个镜像文件的挂载点,挂载点/mnt/cdrom 的目录名称和路径可自定义 2.2 挂载镜像文件 命令:sudo mount –o loop ppc-2008-04-01.iso /mnt/cdrom

相关文档
最新文档