LCC-win32
- 格式:doc
- 大小:51.50 KB
- 文档页数:14
几种Fortran 编译器---------------------------------------------------------------------------------------1.CVFCompaq Visual Fortran (CVF), 当今PC平台上功能相当强大与完整的Fortran程序开发工具,还用于Abaqus的开发。
1997年,微软将Fortran PowerStation卖给DEC之后,微软就不再出版Fortran编译器了。
后来DEC并入了Compaq,再后来Compaq又和HP合并了。
现在最新的版本是HP出的Fortran for Windows v6.6,现在HP/Compaq已经不再开发Fortran了,CVF 6.6是最终的版本了,Compaq的Fortran开发小组已经投入Intel旗下,目前Intel已经有Intel Visual Fortran 11.0。
Compaq Visual Fortran 6.6官方的单价也相当昂贵。
Compaq Visual Fortran 6.6 下载:/SoftDown.asp?ID=11937Compaq Visual Fortran 6.6 绿色版下载:/down/10915.htmlCompaq Visual Fortran 6.5 下载:/soft/fortran6.5.rarftp://2006:2006@/36/-002124.rar---------------------------------------------------------------------------------------2. IVFIntel Visual Fortran (IVF)将Compaq Visual Fortran* (CVF) 语言的丰富功能与英特尔代码生成及优化技术结合在一起。
目前Intel已经有Intel Visual Fortran 11.0。
一般我们在编写matlab中的gui时,我们都是生成一个fig文件和一个m文件的,但是如果我们要生成独立的应用程序,就是exe程序时,最后让它把两个文件合成一个文件,这样容易生成。
方法是在figure窗口中点击file下的export就行了,生成默认文件名为×_export.m文件。
(比如a_export.m) 然后我们需要安装matlab complier,如果你已经安装就直接运行mcc -m a_export.m 上面的命令的默认是a_export.m在当前的工作目录下面,如果不是就拷贝过来,或者加上绝对路径就行了。
安装matlab complier的过程如下:mbulid -setup 出现:Please choose your compiler for building standalone MATLAB applications: Would you like mbuild to locate installed compilers [y]/n? 输入y,然后回车,出现Select a compiler: [1] Lcc-win32 C 2.4.1 in D:/MATLAB/R2007b/sys/lcc [0] None Compiler: 如果你机器上有vc++之类的编译器的话,也会被列出来的,我电脑上没有,所以只有一个matlab自带的编译器,这里我们输入1,然后回车,出现如下:Please verify your choices: Compiler: Lcc-win32 C 2.4.1 Location: D:/MATLAB/R2007b/sys/lcc Are these correct?([y]/n): 然后输入y,表示确认就行了,出现安装成功信息,如下:Trying to update options file: C:/Documents and Settings/FreeFly/Application Data/MathWorks/MATLAB/R2007b/compopts.bat From D:/MATLAB/R2007b/bin/win32/mbuildopts/lccco template: mpp.bat Done . . . PS:如果想把生成的exe程序在其他没有matlab的机子上运行,需要安装MCRInstaller,可以在matlab的安装目录里面搜索到。
LCC-Win32介绍LCC-Win32原来是一个免费的WIN32编译器,包含一个很好用的IDE,用起来很爽,但是最近的版本是要付费的了(40美圆)。
详情请见LCC-Win32官方网站。
它的免费版本可以在国内得到,到云风工作室看一下,你会有所收获。
简介其实所谓的简介这个部分的内容趋向取决于作者。
但是我所读过的一些指南都是由一个“简介”开始的,这部分的内容通常都是在重复读者会在下面看到的东西,但是也有的简介只是作者的一些想法。
仔细的想一下,其实这个介绍并不是一件简单的事情。
首先,如果你要是开门见山的直奔主题,这是不礼貌的,而且基于web的指南也不应该有超大个的简介,不应该让读者在这个东西上浪费时间和金钱。
看来我的废话也够多的了,让我们切入正题。
这个指南是单页的,建议你等浏览器下载完毕后保存一份拷贝来离线阅读。
编译器的安装编译器的安装简单极了,只要把您下载的文件运行一下就OK了,应该不会遇到什么问题。
但是注意安装的最后要编译库文件,可能要花点时间,要视你的机器速度而定。
Lcc-Win32的一些基本概念Lcc-Win32编译系统是由多个文件构成的。
它们的共同的任务是把文本格式的源代码编译位可以运行的二进制格式。
优良个重要的文件分别是编译器(lcc.exe)和连接器(lcclnk.exe)。
编译器是用来把你编写的文本翻译成处理器可以执行的格式的程序。
连接器用来转换编译器生成的二进制文件(通常叫做目标文件),并添加操作系统用来把程序调入内存并执行所需要的信息它可以把多个目标文件链接为一个单独的程可执行程序,这样就可以使你可以把一个程序的代码文档分割为几个模块,这个能力在你开发大型程序时是很重要的。
虽然这些听起来好像十分的简单,但是实际上并不是这个样子的。
编辑器和链接器需要你在命令行方式下键入你要建立的程序的所有信息,这将需要你记住大量的命令行参数和各种各样的开关,这时就需要IDE——集成开发环境(edit.exe)来提供方便了。
LCC使用介绍请添加出处:/~pigprins/D3D/techdocs/lcctutor.htmlLCC-Win32小指南By Daniel Guerrero Miralles翻译:pigprinc声明本文没有任何明确的或者含蓄的表达说明本文是完全正确的,对于应用本文内容所产生的任何结果,本人概不负责。
请原谅本文在语言和语法的的运用上的错误,本人才疏学浅,这是不可避免的。
如果有什么你觉得不舒服的地方请联系pigprince,先谢谢了_________________________________________________________________LCC-Win32介绍LCC-Win32原来是一个免费的开放源代码WIN32编译器,包含一个很好用的IDE,用起来很爽,但是最近源码开始要付费的了(40美圆)。
详情请见LCC-Win32官方网站。
它的免费版本可以在国内得到,到云风工作室看一下,你会有所收获。
目录* 简介* 编译器的安装* Lcc-Win32的一些基本概念* 写个小程序!* 使用工程管理* 第一个Windows程序* 程序生成向导* 使用WeditRes创建资源* 添加其它类型的资源* 使用非规格资源* 静态库和动态库简介其实所谓的简介这个部分的内容趋向取决于作者。
但是我所读过的一些指南都是由一个“简介”开始的,这部分的内容通常都是在重复读者会在下面看到的东西,但是也有的简介只是作者的一些想法。
仔细的想一下,其实这个介绍并不是一件简单的事情。
首先,如果你要是开门见山的直奔主题,这是不礼貌的,而且基于web的指南也不应该有超大个的简介,不应该让读者在这个东西上浪费时间和金钱。
看来我的废话也够多的了,让我们切入正题。
这个指南是单页的,建议你等浏览器下载完毕后保存一份拷贝来离线阅读。
编译器的安装编译器的安装简单极了,只要把您下载的文件运行一下就OK了,应该不会遇到什么问题。
但是注意安装的最后要编译库文件,可能要花点时间,要视你的机器速度而定。
最近要用到Matlab与C/C++混合编程,所以先要完成Matlab C/C++编译器的设置>> mbuild -setupPlease choose your compiler for building standalone MATLAB applications:Would you like mbuild to locate installed compilers [y]/n? ySelect a compiler:[1] Lcc-win32 C 2.4.1 in F:\MATLAB\sys\lcc[2] Microsoft Visual C++ 2005 in D:\Microsoft Visual Studio 8[3] Microsoft Visual C++ 6.0 in C:\Program Files\Microsoft Visual Studio[0] NoneCompiler: 2Please verify your choices:Compiler: Microsoft Visual C++ 2005Location: D:\Microsoft Visual Studio 8Are these correct?([y]/n): y*********************************************************** *****************Warning: Applications/components generated using Microsoft Visual Studio2005 require that the Microsoft Visual Studio 2005 run-timelibraries be available on the computer used for deployment.To redistribute your applications/components, be sure that thedeployment machine has these run-time libraries. More informationis at:/support/solutions/data/1-2223MW.ht ml*********************************************************** *****************Trying to update options file: C:\Documents and Settings\Administrator\ApplicationData\MathWorks\MATLAB\R2007a\compopts.batFromtemplate: F:\MATLAB\bin\win32\mbuildopts\msvc80compp.batDone . . .--> "F:\MATLAB\bin\win32\mwregsvr F:\MATLAB\bin\win32\mwcomutil.dll"DllRegisterServer in F:\MATLAB\bin\win32\mwcomutil.dll succeeded--> "F:\MATLAB\bin\win32\mwregsvr F:\MATLAB\bin\win32\mwcommgr.dll"DllRegisterServer in F:\MATLAB\bin\win32\mwcommgr.dll succeeded 注意了,可能在安装时出现一个错误>> mbuild-setupUsage:MBUILD [option1 ... optionN] sourcefile1 [... sourcefileN][objectfile1 ... objectfileN] [libraryfile1 ... libraryfileN][exportfile1 ... exportfileN]Use the -help option for more information, or consult the MATLAB CompilerUser's Guide.F:\MATLAB\BIN\MEX.PL: Error: No file names given.??? Undefined function or variable 'setup'.自己也是搜了很多网页,貌似很多人碰到相同问题,但奇怪的是没人回答,最后甚至跑到Mathworks的官网上转了会儿,也没有找到答案。
1、首先保证vs2010能正确调用opencv函数,2、Matlab中选择编译器,操作如下:打开matlab2012,输入mex –setup,出现如下提示:Welcome to mex -setup. This utility will help you set upa default compiler. For a list of supported compilers, see/support/compilers/R2012a/win32.htmlPlease choose your compiler for building MEX-files:Would you like mex to locate installed compilers [y]/n?输入y,出现如下提示:Select a compiler:[1] Lcc-win32 C 2.4.1 in C:\PROGRA~1\MATLAB\R2012a\sys\lcc[2] Microsoft Visual C++ 2010 in C:\Program Files\Microsoft Visual Studio 2010 [0] NoneCompiler:输入2,出现如下提示:Please verify your choices:Compiler: Microsoft Visual C++ 2010Location: C:\Program Files\Microsoft Visual Studio 2010Are these correct [y]/n?输入y出现如下提示,表明成功:********************************************************************* ******Warning: MEX-files generated using Microsoft Visual C++ 2010 require that Microsoft Visual Studio 2010 run-time libraries beavailable on the computer they are run on.If you plan to redistribute your MEX-files to other MATLABusers, be sure that they have the run-time libraries.********************************************************************* ******Trying to update options file: C:\Documents and Settings\zhangjing\Application Data\MathWorks\MATLAB\R2012a\mexopts.batFromtemplate: C:\PROGRA~1\MATLAB\R2012a\bin\win32\mexopts\msvc100opts .batDone . . .********************************************************************* *****Warning: The MATLAB C and Fortran API has changed to support MATLAB variables with more than 2^32-1 elements. In the near futureyou will be required to update your code to utilize the newAPI. You can find more information about this at:/help/techdoc/matlab_external/bsflnue-1.html Building with the -largeArrayDims option enables the new API.********************************************************************* *****3、配置一些目录在matlab中,输入mex –v下面会有显示:-> Default options filename found in C:\Documents andSettings\zhangjing\Application Data\MathWorks\MATLAB\R2012a-----------------------------> Options file = C:\Documents and Settings\zhangjing\ApplicationData\MathWorks\MATLAB\R2012a\mexopts.batMATLAB = C:\PROGRA~1\MATLAB\R2012A-> COMPILER = cl-> Compiler flags:COMPFLAGS = /c /GR /W3 /EHs /D_CRT_SECURE_NO_DEPRECATE/D_SCL_SECURE_NO_DEPRECATE /D_SECURE_SCL=0 /DMATLAB_MEX_FILE /nologo /MDOPTIMFLAGS = /O2 /Oy- /DNDEBUGDEBUGFLAGS = /Z7arguments =Name switch = /Fo。
MATLAB程序封装成EXE文件1.设置编译器:首先需要配置自己的Matlab Compiler,Matlab Compiler的作用是将程序编译成为机器可以直接执行的程序。
配置Compiler 的方法是在Matlab命令窗口输入:mbuild -setup,按提示选择matlab自带编译器LCC。
实验记录:>> mbuild -setupPlease choose your compiler for building standalone MATLAB applications:Would you like mbuild to locate installed compilers [y]/n? ySelect a compiler:[1] Lcc-win32 C 2.4.1 in D:\PROGRA~1\MATLAB\R2007a\sys\lcc[2] Microsoft Visual C++ 6.0 in C:\Program Files\Microsoft Visual Studio[0] NoneCompiler: 1Please verify your choices:Compiler: Lcc-win32 C 2.4.1Location: D:\PROGRA~1\MATLAB\R2007a\sys\lccAre these correct?([y]/n): yTrying to update options file: C:\Documents and Settings\Administrator\Application Data\MathWorks\MATLAB\R2007a\compopts.batFrom template: D:\PROGRA~1\MATLAB\R2007a\bin\win32\mbuildopts\lcccompp.batDone . . .--> "D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwregsvr D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwcomutil.dll"DllRegisterServer in D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwcomutil.dll succeeded--> "D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwregsvr D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwcommgr.dll"DllRegisterServer in D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwcommgr.dll succeeded>>说明:因为我的机器上原来装有Microsoft Visual C++ 6.0,所以会有两个编译器,会提示你选择一个,这里选择系统自带的,也就是“1”。
m a t l a b程序转换成C语言要将用Matlab语言编写的函数文件编译成可独立执行的.exe文件即可脱离Matalab环境的执行程序,首先要安装和配置好MatlabCompiler,一般来说,在安装Matlab时就已经安装了相应版本的MatlabCompiler;只是不同版本的Matlab,其编译器的使用方法有一定的差异,这一点要引起一定的注意;在确定安装好MatlabCompiler后,还需要对Compiler进行适当的配置,方法是在Matlab命令窗口输入:Mbuild–setup然后根据提示执行相应的操作,使用者可根据自己计算机中现有编译器的情况选择合适的编译器,如VC++6.0、VC++7.0、BlandC的编译器等,目前Matlab好象还不支持VC++8.0我计算机安装的就是VC++2005,Matlab就无法识别;当然,如果你的计算机里根本就没有安装其他任何语言的编译器,也可选择Matlab自带的Lcc编译器,其实这个编译器对大多数用户已经够用了我就是选择的Matlab自带的Lcc编译器;配置好编译器后,自然就是对自己编写的M文件进行编译了;将M文件编译为独立可执行文件的语法是:>>mcc–mfun1.mfun2.m…..其中fun1就是最后的可执行文件的名称;另外,也可通过采用命令开关-o指定编译最终目标文件的名称,如mcc–mmain.m–omrank_main,就是将编译后的文件指定为mrank_main.exe;编译后的生成文件根据编译器的版本不同而不同;具体的可参阅相关资料;如果要在没有安装matlab的计算机上执行编译后的程序,首先要将MATLAB701toolboxcompilerdeploywin32中的MCRinstaller.exe安装到该计算机上7.0以前的版本是mglinstaller.exe;其次是要将“MCRinstaller.exe安装目录runtimewin32”这个路径添加到该计算机的环境变量中,添加的方法是:右击“我的电脑”“属性”“高级”“环境变量”“添加”指定一个变量名,然后将上述路径复制到里面就可以了;第三步是将编译生成的相相关文件拷贝到同一目录下当然其他目录亦可;第四步是打开MS-dos操作窗口,进入到编译后的.exe程序所在的目录,执行编译生成的.exe文件即可;需要说明的一个问题:如果你的程序还附带有图片如Version上的图标、Web页面如help文档,在编译的时候可能无法与M文件一起编译因为我没有试过,也没有看到有关这方面的介绍,这没有关系,先在计算机上执行一次你编译后生成的独立可执行文件,这时在同一目录下会生成一个以你编译后的程序名+_mcr结尾的文件夹,这时,你只需要把与程序相关的图标和Web 页面拷贝到该文件夹中的Matlabprogram下面的一个子目录一般与用于编译的文件夹名相同中即可;from:matlab设计算法很简单,但是在c上去实现就比较麻烦了,采用matlab自带的mcc链接工具可以方便快速地将需要的m文件转换为c文件;将m文件转换为c文件有一个很重要的地方需要注意:m文件的开头必须是function输出参数1,输出参数2,...=m文件名输入参数1,输入参数2.....;否则的话,会提示"...isascriptM-fileandcannotbecompiledwiththecurrentCompiler."实例,将以下语句编写为m文件保存;functionyfft=tstmcc;y=1,2,3,5,8;yfft=ffty,100;在matlab下执行mcc-t-ltstmcc.m即可生成c和h文件;如何把Matlab中的m文件转化成C语言代码今天应同学的要求,折腾了一下如题所示的转化,过程略显复杂,但最终结果还是可以,即:现在一打开VC6.0直接会显示一个由M文件向Cpp转化的小工具,如下图所示:现在把折腾的过程总结如下:前提:1.已经下载程序matcomv4.5,如果未下载可到地址中下载;2.机器已经安装Matlab7.0或以上版本;3.机器已经安装了软件MicrosoftVisualC++6.0;操作步骤:1.安装matcomv4.5注意:安装之前,首先在matlab的安装目录下手动建立文件夹:\MATLAB701\bin\toolbox\matlab\general.2.第一次运行matcomv4.5运行MATcom4.5自动搜索VC编译器并提示用户是否安装,之后提示是否安装有MATLAB,回答安装后,如果没有建立文件夹\MATLAB701\bin\toolbox\matlab\general,则发生错误;手动建立 1.中所说的文件夹,再重新启动MATcom4.5即可;3.启动MATLAB,运行以下命令:cdc:\matcom45%MATcom的安装路径diarympathmatlabpathdiaryoff4.复制文件MATcom4.5\bin\usertype.dat文件到VisualC++6.0\Common\MSDev98\bin目录;5.VisualC++6.0中的操作运行VisualC++,并从菜单中选择Tools->Customize->Add-insandMacroFiles,选择Browse,改变文件类型为Add-in.dll,选择%MATcom45%\bin\mvcide.dll文件,确定;补充如果你安装的VC6.0为中文版,则相应的路径为工具\定制\附加项...6.在VisualC++的开发环境中可以看到一个VisualMATcom工具条,安装成功很好用,转别人的今天写这个matlab程序怎么转成C吧1程序开始要:function=文件名A而且保存的时候文件名要和“文件名A”相同2执行步骤:Commandwindow下:1 mbuild–setup2提示:Wouldyoulikembuildtolocateinstalledcompilersy/ny输入Y3 Selectacompiler:1Lcc-win32C2.4.1inD:\PROGRA~1\MATLAB\R2007a\sys\lcc2MicrosoftVisualC++2005inD:\ProgramFiles\MicrosoftVisualStudio8选择1;;;;N 我选择的是2根据自己的情况选择4Arethesecorrecty/n:y5 mcc-mAlamouti你的文件名,不需要.m后缀6 busy等待3结束后找到你的.m文件所在的文件夹得到下面这些文件:其中.C为转化后的文件.exe为可执行的文件;得到曲线结构和直接在matlab里面一样。
单击菜单文件à新建文件或按快捷键Ctrl+N,在代码编辑窗口中键入如下的代码:(注意大小写敏感)完成后我把代码保存为F:\backupDoc\test.asm,然后再单击菜单构建。
如果大家还记得的话,就知道这是编译、连接、运行一次搞定的选项,当编译路径没有配置错误,程序即会进行编译、连接和运行。
至于汇编代码我就不解析了,也不是本教程的范围。
如果编译期间发生了错误,则可以在输出窗口中查看错误提示,一般第一次的错误都是没有设置好Masm32的路径。
如果没错的话RadAsm会显示整个编译和连接的过程,如上面的程序就输出如下信息:F:\Asm\masm32\Bin\ML.EXE /c /coff /Cp /nologo /I"F:\Asm\masm32\Include" "F:\backupDoc\test.asm"Assembling: F:\backupDoc\test.asmF:\Asm\masm32\Bin\LINK.EXE /SUBSYSTEM:WINDOWS /RELEASE /VERSION:4.0 /LIBPATH:"F:\Asm\masm32\Lib" "F:\backupDoc\test.obj"Microsoft (R) Incremental Linker Version 5.12.8078Copyright (C) Microsoft Corp 1992-1998. All rights reserved.Executing:"F:\backupDoc\test.exe"Make finished.Total compile time 1693 ms好了,我们现在打开RadAsm,单击菜单文件——新建工程,在弹出的对话框中设置好工程名和工程的类型,如下图所示:由于工程类型的选择影响到整个程序的编译和连接,所以大家在选择时不可以随便选一个类型就完事了。
Lcc-win32面向Windows编程图解教程为什么使用Lcc?当各种版本Visual C++ Windows编程的书汗牛充栋的时候,当无论是高手还是初学者都用Visual C++ 编程的时候,干嘛要有用Lcc进行Windows编程的书?⏹ Lcc是自由软件,公开源代码,至少是免费的!虽然V isual C++的学生版或速成版很便宜,尤其是用美元计价且用高级程序员的收入衡量的时候。
但微软的商品即便免费给你,你的感觉仍是被拴住鼻子,早晚你会把血汗钱给盖茨,劫贫济富一把。
⏹ 用Lcc能深入了解编程是怎么回事。
Windows编程的工具太强大,他就会代替你做很多基础层面的事。
而这些基础正式初学者应该熟练掌握的!想想为什么我们小学时先学加减法而不是想学使用计算器。
但是如果工具太简单也不行,用小刀是无法刻出CPU的。
⏹ Lcc软件的作者们是一群编程的精英,包括Dennis Ritchie, C语言的发明者。
他们花费了惊人的脑力写出Lcc的IDE、编译器和丰富的文档,我们若不学会用它,不是太暴殄天物了吗?为什么使用C语言?C语言的历史很悠久,所以他的缺点被揭露、他被批判的历史也很长。
可是好多编程语言出现又消失,C语言的地位仍未被撼动。
而且C语言被更为广泛的应用。
正如Lcc所自带的文档《Programming with lcc-win32》所说的:如果你想写能被长时间使用的软件,不要学当今最火的编程语言,学C语言。
C不强加你任何观点。
她不是面向对象(object oriented)的,但如果你愿意,你可以用C 语言进行面向对象的程序设计。
她不是函数语言(functional language),但如果你愿意,你可以用C语言进行函数语言范式程序设计。
大多数LISP语言和Scheme语言(一种完全的函数语言)的解释器和编译器就是用C语言编的!你用C语言进行链接表处理也许不如用LISP语言好用,但是你是可以用C语言进行链接表处理的。
MATLAB mex -setup 疑惑2012-02-15 18:16:56| 分类:matlab | 标签:mex |字号订阅问题:我的MATLAB 是2008 Visual Studio 也是2008我在MATLAB 命令窗口输入mex -setup时,只显示如下结果:Please choose your compiler for building external interface (MEX) files: Would you like mex to locate installed compilers [y]/n? ySelect a compiler:[1] Lcc-win32 C 2.4.1 in F:\PROGRA~1\MATLAB\R2008a\sys\lcc\bin [0] NoneCompiler:根本就没有提VC编译器的选项呀。
这是为什么呀?解决办法:提出这个办法的人太牛了,真是什么神人都有解决方法很简单1、确认安装有VC2、如果安装有VC,在出现Please choose your compiler for building external interface (MEX) files:Would you like mex to locate installed compilers [y]/n?的时候输入n(yes,你没有看错,是n)3、此时会列出matlab支持的编译器[1] Intel C++ 9.1 (with Microsoft Visual C++ 2005 SP1 linker)[2] Intel Visual Fortran 10.1 (with Microsoft Visual C++ 2005 SP1 linker)[3] Intel Visual Fortran 9.1 (with Microsoft Visual C++ 2005 SP1 linker)[4] Lcc-win32 C 2.4.1[5] Microsoft Visual C++ 6.0[6] Microsoft Visual C++ .NET 2003[7] Microsoft Visual C++ 2005 SP1[8] Microsoft Visual C++ 2008 Express[9] Microsoft Visual C++ 2008 SP1[10] Open WATCOM C++[0] None选择安装的VC版本(我装的是VS2005)5、选择完成之后,会要求指定VC的安装目录The default location for Microsoft Visual C++ 2005 SP1 compilers is C:\ProgramFiles\Microsoft Visual Studio 8,but that directory does not exist on this machine.Use C:\Program Files\Microsoft Visual Studio 8 anyway [y]/n?如果安装目录是自动搜索到的目录C:\Program Files\Microsoft Visual Studio 8 anyway,则输入y,否则输入n,然后手动输入VC安装目录OK 呵呵。
c语言百度百科编辑词条c语言百科名片C语言是Combined Lang ge(组合语言)的中英混合简称。
是一种计算机程序设计语言。
它既具有高级语言的特点,又具有汇编语言的特点。
它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。
简介C语言是Combined Lang ge(组合语言)的中英混合简称。
这句话头一次听说,不知道作者是从哪看到的,我学编程这么多年,头一次听说C语言是如此定义的,请不要误人子弟。
望改正!C语言发展如此迅速,而且成为最受欢迎的语言之一,主要因为它具有强大的功能。
许多著名的系统软件,如DBASEⅣ都是由C语言编写的。
用C语言加上一些汇编语言子程序,就更能显示C语言的优势了,像PC-DOS、WORDSTAR等就是用这种方法编写的。
1.C是中级语言。
它把高级语言的基本结构和语句与低级语言的实用性结合起来。
C语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。
2.C是结构式语言。
结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。
这种结构化方式可使程序层次清晰,便于使用、维护以及调试。
C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
3.C语言功能齐全。
具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。
另外C语言也具有强大的图形功能,支持多种显示器和驱动器。
而且计算功能、逻辑判断功能也比较强大,可以实现决策目的的游戏。
4.C语言适用范围大。
适合于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。
C语言对编写需要硬件进行操作的场合,明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。
Fortran 编译器---------------------------------------------------------------------------------------1. Fortran Powerstation 4.0Fortran Powerstation 4.0是最老的版本下载ftp://2006:2006@/36/-002123.ZIP---------------------------------------------------------------------------------------2.CVFCompaq Visual Fortran (CVF), 当今PC平台上功能相当强大与完整的Fortran程序开发工具,还用于Abaqus的开发。
1997年,微软将Fortran PowerStation卖给DEC之后,微软就不再出版Fortran编译器了。
后来DEC并入了Compaq,再后来Compaq又和HP合并了。
现在最新的版本是HP出的Fortran for Windows v6.6,现在HP/Compaq已经不再开发Fortran了,CVF 6.6是最终的版本了,Compaq的Fortran开发小组已经投入Intel旗下,目前Intel已经有Intel Visual Fortran 11.0。
Compaq Visual Fortran 6.6官方的单价也相当昂贵。
Compaq Visual Fortran 6.6 下载:/SoftDown.asp?ID=11937Compaq Visual Fortran 6.6 绿色版下载:/down/10915.htmlCompaq Visual Fortran 6.5 下载:/soft/fortran6.5.rarftp://2006:2006@/36/-002124.rar---------------------------------------------------------------------------------------3. IVFIntel Visual Fortran (IVF)将Compaq Visual Fortran* (CVF) 语言的丰富功能与英特尔代码生成及优化技术结合在一起。
如何在win32Application中使用MFC(转)进入 Project-->Setting--> C/C++ Page,做以下修改:1.在Preprocessor definitions中加入_AFXDLL,加入后的设置大概是这样的:WIN32,_DEBUG / NODEBUG,[_CONSOLE],[_MBCS],_AFXDLL 加入的_AFXDLL是关键,它欺骗MFC LIB,避免连接MFC 的WinMain 函数。
2.修改Project Options,将 /MT或者 /ML标志改为 /MD。
原因是在 afxver_.h 中会检查_AFXDL, _MT, _DLL 标志是否同时设置,否则报错。
尽管链接 For Multi-Threaded 版本的 Library 会损失一些性能,但是这个标志的存在并不导致编译器把Project 编译成DLL。
3.在Project的stdafx.h 中包含必要的头文件,或者直接从MFC AppWizard创建的stdafx.h中拷贝:#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers#include <afx.h>#include <afxwin.h> // MFC core and standard components#include <afxext.h> // MFC extensions#include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls#ifndef _AFX_NO_AFXCMN_SUPPORT#include <afxcmn.h> // MFC support for Windows Common Controls#endif // _AFX_NO_AFXCMN_SUPPORT4.在Project的WinMain / main中加入MFC的初始化代码,以下是_tWinMain和_tmain的情况:extern "C" int WINAPI_tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,LPTSTR lpCmdLine, int nCmdShow){int nRetCode = 0;if (!AfxWinInit(::GetModuleHandle(NULL),NULL, ::GetCommandLine(), 0)){TRACE0("Fatal Error: MFC initialization failed.\n");nRetCode = 1;}else{// Actual WinMain codes ...AfxWinTerm();}return nRetCode;}int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]){int nRetCode = 0;if (!AfxWinInit(::GetModuleHandle(NULL),NULL, ::GetCommandLine(), 0)){cerr << _T("Fatal Error: MFC initialization failed") << endl;nRetCode = 1;}else{// Actual main codes ...AfxWinTerm();}return nRetCode;}此外,在Virtual C++ 6.0创建的Win32 Dynamic-Link Library 中也可以单独使用MFC,这样可以避免Project被MFC AppWizard 和ATL COM AppWizard添加CWinApp实例,方法简单,如下构造Project的DllMain函数即可:#include <afxdllx.h>static AFX_EXTENSION_MODULE ProjectDLL = { NULL, NULL };extern "C" int APIENTRYDllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved){// Remove this if you use lpReserved.UNREFERENCED_PARAMETER(lpReserved);if (dwReason == DLL_PROCESS_ATTACH){// Extension DLL one-time initialization.if (!AfxInitExtensionModule(ProjectDLL, hInstance)){TRACE0("Project.DLL initialize its extension module failed!\n");return FALSE;}// CDynLinkLibrary’s destructor will be called in AfxTermExtensionModule.new CDynLinkLibrary(ProjectDLL);}elseif (dwReason == DLL_PROCESS_DETACH){TRACE0("Project.DLL terminating...\n");// Terminate the library before destructors are called. AfxTermExtensionModule(ProjectDLL);}return TRUE; // ok.}。
碰到一些MATLAB打包的问题,在这里整理一下与大家共享。
MATLAB的程序可以打包成为dll或者exe或者com等形式供其他编译环境使用,我们知道dll以及com是不同编程环境下共享程序的常用方式,关于dll以及com的打包,后续我再介绍,这里只说一下exe打包的问题。
想要对MATLAB的程序进行打包,首先,要有个编译环境,MATLAB提供了自带的lcc编译环境,可以满足大部分程序编译的要求,但是不能够编译COM组件,因此,最好在电脑中安装另外的编译环境,比如VS。
我这里通过lcc来说明(因为我的VS还没有下载下来)。
输入命令:mbuild -setup,会出现下面的提示:Please choose your compiler for building standalone MATLAB applications: Would you like mbuild to locate installed compilers [y]/n?这里是提示选择编译器,输入y,那么会列出电脑所安装过的编译器。
Select a compiler:[1] Lcc-win32 C 2.4.1 in D:\PROGRA~1\MATLAB\R2009a\sys\lcc[0] NoneCompiler:输入y之后,上面的内容列出了电脑中安装了的编译器,我的电脑只有MATLAB一个,因此只有一项,如果安装了VS,会出现第二个选项。
这里输入1Please verify your choices:Compiler: Lcc-win32 C 2.4.1Location: D:\PROGRA~1\MATLAB\R2009a\sys\lccAre these correct [y]/n?这是确认信息,直接输入y即可。
Trying to update options file: C:\Users\李鹏\AppData\Roaming\MathWorks\MATLAB\R2009a\compopts.batFromtemplate: D:\PROGRA~1\MATLAB\R2009a\bin\win32\mbuildopts\lccco mpp.batDone . . .出现了上面的信息,则表明,编译器已经安装成功,可以进行打包了。
LCC-Win32小指南By Daniel Guerrero Miralles翻译:pigprince声明本文没有任何明确的或者含蓄的表达说明本文是完全正确的,对于应用本文内容所产生的任何结果,本人概不负责。
请原谅本文在语言和语法的的运用上的错误,本人才疏学浅,这是不可避免的。
如果有什么你觉得不舒服的地方请联系pigprince,先谢谢了_________________________________________________________________LCC-Win32介绍LCC-Win32原来是一个免费的开放源代码WIN32编译器,包含一个很好用的IDE,用起来很爽,但是最近源码开始要付费的了(40美圆)。
详情请见LCC-Win32官方网站。
它的免费版本可以在国内得到,到云风工作室看一下,你会有所收获。
目录* 简介* 编译器的安装* Lcc-Win32的一些基本概念* 写个小程序!* 使用工程管理* 第一个Windows程序* 程序生成向导* 使用WeditRes创建资源* 添加其它类型的资源* 使用非规格资源* 静态库和动态库简介其实所谓的简介这个部分的内容趋向取决于作者。
但是我所读过的一些指南都是由一个“简介”开始的,这部分的内容通常都是在重复读者会在下面看到的东西,但是也有的简介只是作者的一些想法。
仔细的想一下,其实这个介绍并不是一件简单的事情。
首先,如果你要是开门见山的直奔主题,这是不礼貌的,而且基于web的指南也不应该有超大个的简介,不应该让读者在这个东西上浪费时间和金钱。
看来我的废话也够多的了,让我们切入正题。
这个指南是单页的,建议你等浏览器下载完毕后保存一份拷贝来离线阅读。
编译器的安装编译器的安装简单极了,只要把您下载的文件运行一下就OK了,应该不会遇到什么问题。
但是注意安装的最后要编译库文件,可能要花点时间,要视你的机器速度而定。
Lcc-Win32的一些基本概念Lcc-Win32编译系统是由多个文件构成的。
它们的共同的任务是把文本格式的源代码编译位可以运行的二进制格式。
优良个重要的文件分别是编译器(lcc.exe)和连接器(lcclnk.exe)。
编译器是用来把你编写的文本翻译成处理器可以执行的格式的程序。
连接器用来转换编译器生成的二进制文件(通常叫做目标文件),并添加操作系统用来把程序调入内存并执行所需要的信息它可以把多个目标文件链接为一个单独的程可执行程序,这样就可以使你可以把一个程序的代码文档分割为几个模块,这个能力在你开发大型程序时是很重要的。
虽然这些听起来好像十分的简单,但是实际上并不是这个样子的。
编辑器和链接器需要你在命令行方式下键入你要建立的程序的所有信息,这将需要你记住大量的命令行参数和各种各样的开关,这时就需要IDE——集成开发环境(wedit.exe)来提供方便了。
IDE的基本功能是编辑文本,你可以在这个环境里编辑程序的源代码,但是远远不止有这个功能。
它还给你提供了一个调用编译器和链接器的简单方法,这样在编译程序的时候你就不用去记住那么多的命令行参数了。
你可以简单的把Wedit想象成你的控制台,在这里你可以控制所有的流程。
好吧!现在你可以用你的鼠标点一下Windows的“开始”按钮,在程序项的子菜单了寻找“lcc-win32”,好了吗?现在你已经准备好在Lcc-Win32中写你的第一个程序了。
写个小程序!你知道吗?自从第一个C编译器产生以来(也许可能更早一些),有一个惯例就是为这个编译器写的第一个程序是“Hello World”,我为我拥有的所有编译器都写过,现在我们就来写一个。
第一步是创建源码文件。
在“File”菜单中选择“new”项,然后在出现的对话框中输入“hello.c”并点一下“OK”。
现在你看到的是一个标题为“hello.c”的空白窗口,输入下面的代码:#include <stdio.h>void main (void){printf ("Hello World from LCC-Win32!\n");}保存我们的小程序,在“File”菜单中选择“Save”项。
现在我们可以编译这个程序了。
选择“Compiler”菜单中的“Compile hello.c”调用编译器。
这时一个新窗口会出现在IDE的底部,这是信息窗口,当编译器处理完成,在这个窗口中将会显示“HELLO.exe build successfully.”,如果编译出错,出错信息也将会被显示在这里。
如果编译出错了,在信息窗口处双击信息显示所在行,在编辑窗口内将高亮度显示出错代码行,仔细的检查一下你写的程序和上面我写的一样,这里需要注意的是C语言是大小写敏感的程序语言,这意味着“printf”和“Printf”对编译器是不相同。
现在你已经编译好了这个程序,按[Ctrl]+[F5]键运行一下,结果对吗?使用工程管理现在你已经编译了你的第一个程序,你可能想知道——执行文件在哪里?回答是:我也不知道!这可能听起来很傻(的确也是),但是这是看你在编译程序时的缺省目录是什么,所以你应该在你的硬盘里搜索一个叫做“hello.exe”的文件。
你肯定不会想要每开发一个程序都要搜索一下硬盘的,这种情况下你就要使用工程。
工程是一些编译器要知晓的建立程序所需要的信息。
这包括程序源文件、编译好的文件的存放地点、要编译为什么类型的可执行文件,一个好的想法是为每一个程序建立一个工程。
事实上,对于我们的“HelloWorld”程序还是有一个工程的,Lcc=Win32会为没有指明工程的程序建立一个缺省的工程。
选择“Project”菜单的“Erase...”项,Wedit会显示一个工程列表,你会看到一个项目叫做“HELLO”,现在我们毫不留情的删除它。
与其他的编译器不同的是,Lcc-Win32的工程信息不是存储在硬盘上的,而是存储在Windows的注册表项里。
这使得Wedit可以“记住”所有的工程,甚至于在不同的磁盘上。
但是优势我们也需要清除我们不再使用的工程,在这种情况下,我们可以把工程信息导出到磁盘上,然后在IDE中删除它。
看一下“Project”菜单的选项,你就会明白了。
现在你可以试着创建一个“HELLO”工程。
第一个Windows程序你可能已经注意到了hello.exe看起来象是一个DOS程序,但是它不是的,它是一个真正Windows程序,但是这种类型的程序被称为Windows控制台程序,就是在文本模式下运行的Windows程序。
如果你不相信,可以试着在Windows的纯DOS环境下运行一下,你会得到一行信息:“This program cannot be run in DOS mode”。
写一个真正的Windows版的“HelloWorld”程序并不比控制台的版本难多少。
首先创建一个新工程,选择“Windows executable”代替“Console application”,点OK后,Lcc-Win32会问你需要Wizard(生成向导)创建程序框架吗,回答No。
#include <windows.h>int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){MessageBox (NULL, "Hello world from Lcc-Win32!", "Hello", MB_OK);return 0;}编译并运行这个程序,你会看到一个显示hello信息的窗口,点ok关闭退出。
不幸的是,除了这样的小之又小的Windows程序,一般情况下Windows程序是很复杂的,现在你已经知道了如何创建工程和编译程序,如果你是一个Windows编程新手,去找一些有关的书来看看,取得必要的基础,一些Windows编程知识在下面的部分是必须的。
如果你是一个C语言的新手,那么先好好的学一段时间再来看这个指南吧!程序生成向导Windows程序与文本状态下的程序比起来要好的多,但是天上不会掉馅饼的,你想要得到的Windows功能支持,比如:剪裁板、多任务等等要付出的是大量的复杂的代码。
但是总还是有些办法可以使事情变得简单一些的。
长时间以来,程序员们发现实际上总是有些在每个程序中都相同的代码段,所以Windows程序员通常使用模板来生成这部分代码。
就是说源文件一般只要生成一次,就可以在任何一个新程序中使用了。
只有变化的部分才是每个程序不同的部分,显然这些应该是可以自动的进行的。
这就是生成向导要完成的工作。
你可以在它的帮助下快速的生成应用程序的框架。
这个框架事实上就是一个什么功能也没有的一个完整的程序,也许可能只是用来显示一个空窗体,因为使程序完成具体的功能是你的工作。
让我们看一下使用向导建立最简单的应用程序的处理。
通常,第一步是创建程序代码,然后建立一个工程。
在使用向导的模式下,你并不需要写一行代码,向导将为你建立它,我们直接来看建立工程各个步骤。
在“Project”菜单下选择“create”项,给出项目名称和路径,选择工程类型为“Windows executable”,当Wedit询问你是否要使用向导(wizard),回答“yes”,这样就进入了向导模式。
向导将显示一个对话框叫做:“Application characteristics”,这是向导将在应用程序中包含的基本特点,你可以选择以下情况的一种:单窗口、多窗口和DLL(动态链接库),现在我们要创建一个十分简单的单窗口小应用程序,选择单窗口类型并确保所有的特性复选按纽都未被选中,点击“OK”进行处理。
现在向导将要提示你输入信息设置主窗口的“类”,这里所说的“类”和C++中的类是不同的,它是Windows在内存中存储的一个结构,用来存储正确显示窗口所需要的信息。
最重要的是“回叫函数”(下面将具体介绍)的名称,现在只要简单接受默认的属性值,点击“NEXT”进行处理。
这个“Generate code for the main window creation”对话框用来设定相应窗口的信息。
当主窗体被创建的时候这些信息会被传送到相应的窗口。
在这里你可以改变窗口的标题栏的显示内容,然后点击“Finish”。
向导的工作就要完成了,接下来的工程创建工作是通常的一些对编译器、链接器、调试器的一些设置,这里只要简单的接受缺省的选项就可以了。
经过上面的步骤,就完成了向导的所有的工作,你可以在IDE中看到两个窗口,一个是源程序编辑窗,另外的一个是用来定义应用程序的主菜单的脚本。
正象刚刚所说的那样,这个程序框架是全功能的,可以通过编译并运行,你可以看到一个有菜单的窗口。