编译器选项(VS2008)
VS2008编译的程序在某些机器上运行提示“由于应用程序配置不正确,应用程序未能启动”的问题
VS2008编译的程序在某些机器上运行提示“由于应用程序配置不正确,应用程序未能启动”的问题文章分类:C++编程VC9编译的程序在没有装过VC9(确切的说是.Net Framework3.5)的机器上运行时,如果提示“由于应用程序配置不正确,应用程序未能启动。
重新安装应用程序可能会纠正这个问题。
”这个错误,那么就说明该程序动态链接了VC9的运行时库,(如果还用到了MFC,那么可能动态链接了VC9的MFC库,同理还有ATL库),以及缺少对应的manifest文件,程序在目标机器上没有找到这些库和配置文件,因此导致了这个错误。
出现这种情况的VC9编译器可能存在3个版本,接下来分别阐明:1、没有打过任何补丁的VS2008该版本对应的CRT/MFC/ATL库的版本号为9.0.21022.8,这个版本号在后面会用到。
这个版本的程序部署比较简单,直接把VC安装目录下的redist目录(C:\Program Files\Microsoft Visual Studio 9.0\VC\redist)中需要的库以及对应的manifest文件拷贝到执行程序同目录下,这样程序到任何机器上都能够正常运行了。
2、打过SP1补丁的VS2008打过该补丁后,系统中存在着两个版本的CRT/MFC/ATL库,版本号分别为9.0.21022.8和9.0.30729.1,这导致了manifest文件中记录的版本号和实际库的版本号不一致(程序要求它们的版本号一致才能运行)。
这个版本的程序部署需要两个步骤,首先要使manifest文件中依赖项的版本号与实际库的版本号一致,均为9.0.30729.1,方法是在工程设置中增加一个宏定义_BIND_TO_CURRENT_VCLIBS_VERSION,该宏定义于C:\Program Files\Microsoft Visual Studio 9.0\VC\include\crtassem.h文件中,然后重新编译程序。
配置Visual Studio 2008
配置Visual Studio 2008为了更加方便地在Visual Studio 2008中开发Web应用程序,需要配置Visual Studio 2008开发环境(以Windows 7操作系统为例,并且所有配置均适合Windows Server 2003系统)。
(1)选择"开始"/"程序"/Microsoft Visual Studio 2008/Microsoft Visual Studio 2008命令,如果用户是第一次使用Visual Studio 2008开发环境,弹出如图1.8所示的"选择默认环境设置"对话框。
技巧:用户也可以随时选择使用不同的设置,方法是在Visual Studio 2008开发环境菜单栏中选择"工具"/"导入导出设置"命令,然后启动"导入和导出设置"向导,在其中选择重置所有设置选项即可。
(2)在"工具"菜单栏中选择"选项"命令,弹出"选项"对话框。
在该对话框的左侧导航栏中有"常规"、"环境字体和颜色"、"文本编辑器HTML"和"HTML设计器"命令,如图1.9所示。
技巧:在"选项"对话框默认页中可以选择Visual Studio 2008起始页位置和源视图中显示的项目(如自动列出成员、行号、自动换行)等。
(3)选中"选项"对话框下方的"显示所有设置"复选框,在左侧将显示所有命令,如图1.10所示。
用户可以根据实际需要进行详细设置。
心法领悟001:专业的网站服务器环境。
如果要作为专业网站服务器环境,首选Windows Server 2003或Windows Server 2008系统,该系统是给服务器等级的主机用的,着重于性能、安全及可靠性;反之,教学或学习等用可以选择Windows 7等系统。
Visual Studio 2008编译MCNP5方法
之前有讲到在win8下如果安装蒙卡软件mcnp5,,并讲了几个简单的如何运行的例子,现在教程稍微更新一下,讲讲如何在win8下vs2008(或者更高版本)下通过编译MCNP5,也能正常跑程序,这里需要的软件包有:1.MCNP5安装文件和数据文件两个,即:MCNP_DATA_Installer和MCNP5_executables_Installer2.VS2008(或者更高版本)3.intel fortranmcnp5下载地址:/s/1bnexuiF有人会问vs2008编译mcnp后有什么好处,这个好处主要体现在2个方面,一个是类似vc++的IDE环境,可以不用安装UltraEdit。
另外一个是可视化效果上。
用过MCNP5的都知道,vised.exe这个可视化工具在进行可视化操作时不怎么好用,得借助X版本的可视化工具来辅助进行,而且有时在进行2D和3D显示时窗口会重叠在一起,同时看很不方便。
这里我主要讲一下如何借助intel fortran vs下编译MCNP,并讲一下如何运行一个例子。
至于其他功能,以后有时间了继续更新,另外如果有网友对这块有一定的造诣了,也欢迎你继续接力,多发些分享以帮助更多的网友更加深入的来学习蒙卡工具。
另外温馨提醒一下,有部分网友反应,看帖子时只能看到文字,图片和附件看不到,这是因为网站权限问题,必须得注册帐号后,才能看到图片和附件信息的,所以建议还是花上1分钟样子注册帐号,这对大家交流也有好处。
言归正传,安装分4步:第一步:安装MCNP主文件和数据文件,此处省了,安装方法见/thread-2420-1-1.html,在这可以不用安装MPI 工具包了。
第二步:安装VS2008,因为我用的是VS2008的企业版,自带激活的key,这步安装较简单,也省了。
第三步:安装intel fortran compiler,这个工具包也自带有激活的licence,这里我详细的介绍一下:点开软件后,按照以下图片安装步骤依次:这个安装过程可能持续10分钟样子,请耐心等待。
VS2008IDE入门
IDE 快速入门自从开始开发软件以来,就需要使用工具来帮助我们编写、编译和调试应用程序。
Microsoft Visual Studio 2008是最佳组合的集成开发环境(Intergrated Development Environment ,IDE)继续演化的下一个版本。
如果这是您第一次使用Visual Studio ,本章就是一个很好的起点。
即使您使用过Visual Studio 的以前版本,也应快速浏览本章。
本章介绍Visual Studio 2008的用户操作,并学习使用各种菜单、工具栏和窗口。
作为IDE 的快速入门,本章不会详细列举每一个可以更改的设置,也不会介绍如何自定义IDE 的布局,这些话题会在后面的章节讨论。
1.1 入门每次启动Visual Studio 时,都会显示Microsoft Visual Studio 2008闪屏。
与大多数闪屏一样,Microsoft Visual Studio 2008闪屏也显示了该产品的版本、已得到授权的用户等信息,如图1-1所示。
图 1-1更重要的是,Visual Studio 闪屏包含一个已安装的主组件列表。
如果安装了第三方插件,这些产品就会显示在这个列表中。
第 章 1第Ⅰ部分集成开发环境4第一次运行Visual Studio 2008时,闪屏仅显示一会儿,之后屏幕就会提示选择默认的环境设置。
让没有使用过某产品的人想象一下如何使用该产品是不可能的。
Microsoft把许多语言和技术都融入到了一个IDE中,所以该IDE必须要考虑到开发人员在工作方式上的微妙(有时不那么微妙)区别。
如果花点时间看看图1-2中所列出的各个选项;就会发现受影响的环境设置包括各个窗口、菜单、工具栏、快捷键的位置和可见性。
例如,如果选择General Development Settings选项作为默认设置,该屏幕就会描述将要被应用的这个改变。
图1-2使用Visual Studio以前版本的Visual Basic .NET开发人员要注意,不要使用Visual Basic Development Settings选项,这个选项是为VB6开发人员配置的,它只会激怒Visual Basic .NET 开发人员,因为Visual Basic .NET开发人员要使用不同的快捷键映射。
VS2008编译C语言程序详细步骤
Visual Studio 2008(VS2008)编译C语言方法 xp,vista,win7(32,64位)都可运行,效果很好!2011-01-01 13:31大家在学习C语言的时候接触的一般都是VC6.0。
但是VC6.0只能编译C 或者C++,不支持C#,集成度不是很高。
而且界面并不十分友好,不能自动猜测关键字,函数的参数也不能自动标示。
最关键的是,编译的时候纠错信息是全英文的,对于初学者十分不方便。
在演示编译一些简单的C程序时VC6.0可以胜任,但是在进行稍微复杂的程序编辑工作时,VC6.0就有点力不从心了。
现在微软的基于.NET的开发软件已经更新至Visual Studio 2010(VS2010)但是VS2010版本还不是最完善,所以目前为止,最流行的还是Visual Studio 2008(内部代号VC9.0,以下简称VS2008)。
大家接触VS2008一般都是从C#或者VB语言开始的,其实VS2008作为一款集成度很高的编译软件,其本身也是支持C 语言的。
大家可以用它来进行C语言的编译。
相较于VC6.0,VS2008更加的智能,更加人性化。
而且VS2008还支持windows7(VC6.0不支持),所以很多装了windows7的朋友就不用头疼了。
下面,就向大家啊演示如何使用VS2008编译C程序,本文中使用VS2008 professional版本。
1.打开VS2008,这就不用多说了吧2.打开了VS2008的主界面,然后选择,文件→新建→项目弹出如图对话框在项目类型中选择VC++→win32 然后在右侧模板中选择win32控制台应用程序,再在下面输入一个名称(项目名称,不用带.C)选择保存位置后确定好了,弹出个对话框,不管它,下一步接下来注意了,这个对话框中,应用程序类型要选择控制台应用程序,附加选项一定要选中“空项目”。
然后点完成。
然后对话框消失,回到VS主界面,这时会在左侧和右侧多了如图工具栏“解决方案管理器”,如果没有,请点击快捷键(最左边)在源文件上点右键,选择“添加→新建项”。
OpenMP在VS2008中的配置
ห้องสมุดไป่ตู้
2、运行时显示VCOMP90D.DLL文件未找到
解决方法一:搜索电脑中的VCOMP90D.DLL文件,通过该文件的上一级目录的名字,一般选择含有x86的目录中的VCOMP90D.DLL文件,将其放置到你所见工程的根目录下的Debug目录中,即可。
解决方法二:搜索电脑中的VCOMP90D.DLL文件,记录含有x86字样的VCOMP90D.DLL文件父目录的名字;然后打开Project->Properties->Configuration Properties->Linker->Manifest File->Additional Manifest Dependencies
输入进去。
同时,将VCOMP90.DLL和与其同目录的Manifest文件一并复制到工程根目录下的Release目录中
如何建立Openmp编程环境
OpenMP在Windows环境下比较容易实现,只要打开VS2008中的编译选项/openmp,设置一下环境变量
OMP_NUM_THREADS就可以了.一般是新建一个c++项目,以次选择项目->(*)属性->配置属性->c"c++->语言,打开OpenMP支持;设置环境变量,我的电脑->属性->高级->环境变量,新建一个OMP_NUM_THREADS变量,值设为2,即为程序执行的线程数.
9 return 0;
10 }
程序运行结果为:
Hello from Thread NO.0
Hello from Thread NO.1
使用:
1、Project->Properties->Configuration Properties->C/C++->language->OpenMP Support
Windows 7 64bit +VS2008+ CUDA 4.0安装配置完全过程
Windows 7 64bit +VS2008+ CUDA 4.0安装配置完全过程安装CUDA4.0时,碰到了很多意外,花费了较多时间,最终取得了成功,现对期间的经验教训总结如下,供大家分享,期待提高大家的工作质量和效率。
一 安装环境Windows 7 64bit 家庭版,VS2008(安装了X64编译器),CUDA 4.0 64bit版本;二 安装软件Windows 7 64bit 家庭版是购买笔记本时自带的系统,不再详说。
2.1 安装VS2008安装的professional版本,在安装时选择自定义安装,选择自己需要的组件,如下图1所示(这里借用了别人的一张图片),注意展开Visual C++子树,选中X64组件。
图1 自定义安装VS2008组件安装完毕后,对于如何取消90天试用限制问题,采用了别人的破解办法,具体的操作方法如下:打开 控制面板 Î 添加删除程序, 找到VS2008的安装项,运行VS2008的安装卸载程序,出现如下图2所示界面:图2 VS2008的安装卸载界面下载 破解程序CrackVS2008ForWindows7.zip,然后右键点击该破解程序,选择以管理员身份运行,出现如下的图3所示界面:图3 破解程序界面点击图3右上角 按钮“Bug 微软”,则久违的图4界面出现了:图4 破解后的界面输入相应的序列号,就可以了,以下是收集的序列号:1.Visual Studio 2008 Professional Edition:XMQ2Y-4T3V6-XJ48Y-D3K2V-6C4WT2.Visual Studio 2008 Team Test Load Agent:WPX3J-BXC3W-BPYWP-PJ8CM-F7M8T3.Visual Studio 2008 Team System:PYHYP-WXB3B-B2CCM-V9DX9-VDY8T4.Visual Studio 2008 Team Foundation Server:WPDW8-M962C-VJX9M-HQB4Q-JVTDM2.2 安装CUDA4.0在nvidia的下载网页上,下载了64bit的开发组件,包括driver、tookit、sdk 等主要组件,具体如下:devdriver_4.0_winvista-win7_64_275.33_notebook.execudatoolkit_4.0.17_win_64.msigpucomputingsdk_4.0.19_win_64.execudatools_4.0.17_win_64.msiCUDA4_0BuildCustomizationFix.zip注意驱动选择台式机或者笔记本版本。
vs2008命令行编译C
vs2008命令行编译C一、命令行下运行创建 Visual C++ 源文件并在命令行上对其进行编译打开“Visual Studio 2008 命令提示”窗口。
单击“开始”按钮,指向“所有程序”,指向“Microsoft Visual Studio 2008”,指向“VisualStudio 工具”,然后单击“Visual Studio 2008 命令提示”。
注意:“Visual Studio 2008 命令提示”自动设置了 Visual C++ 编译器和所需的任何库的正确路径。
应使用它而不是使用普通的“命令提示符”窗口。
(如果是编译已经存在的源文件,只要进入原c++源文件所在的目录进行编译即可)在命令提示符下,键入notepad simple.cpp,并按Enter。
在系统提示是否创建新文件时,单击“是”。
在记事本中,键入下列各行:#include <iostream>int main(){std::cout << "This is a native C++ program." << std::endl;return 0;}下面代码等效于上面代码#include <iostream>using namespace std;int main(){cout << "This is a native C++ program." << endl;return 0;}在“文件”菜单上单击“保存”。
这样就创建了一个Visual C++ 源文件。
在“文件”菜单上,单击“退出”以关闭记事本。
在命令提示符下,键入cl /EHsc simple.cpp,并按Enter。
/EHsc 命令行选项指示编译器启用 C++ 异常处理。
有关更多信息,请参见 /EH(异常处理模型)。
cl.exe 编译器生成了一个可执行程序 simple.exe。
使用C#vs2008编译GDAL1.8.1
一、简单的编译1、使用VisualStudio IDE编译首先进入GDAL的源代码目录,可以看到有几个sln为后缀的文件名,比如makegdal10.sln,makegdal80.sln,makegdal71.sln,makegdal90.sln 。
这些文件是VisualStudio的工程文件,后面的数字对应的VS的版本号,71表示的VS2003,80表示VS2005,90表示VS2008,还有10表示VS2010等。
根据自己电脑安装的VS 版本,打开对应的文件,如下图所示(使用VS2008SP1版本,打开makegdal90.sln文件):图3 VS2008打开编译GDAL1.8.1然后在左侧解决方案右键,弹出菜单中选择“生成”或者“重新生成”命令,然后GDAL就会开始编译,等待输出窗口中提示,执行完成,生成成功等信息后,就表示GDAL已经完成编译。
同时会在GDAL的源代码目录中会出现gdal.lib,gdal_i.lib,gdal18.dll等文件,如果你没有修改GDAL中的nmake.opt文件的话,那么同时会在你的C盘中会出现一个叫“C:\warmerda\bld”的文件夹,里面会包含三个文件夹,分别是bin,data和html。
其中bin文件夹中存放的是编译出来的GDAL的可执行程序,包括GDAL提供的十几个工具集;data文件夹就是在第一节中的介绍的data文件夹;html文件夹中存放的是各种数据格式的说明文档。
2、使用cmd命令行编译使用cmd命令行编译,首先在“开始菜单\所有程序\Microsoft Visual Studio 2008\Visual Studio Tools\ Visual Studio 2008命令提示”,点击“Visual Studio 2008 命令提示”会弹出下面的界面:然后使用cd命令,切换到GDAL的源代码目录,如下图所示:切换到GDAL的源代码目录后,依次敲入下面的命令行后回车,等待编译结束即可。
vs2005 VS2008 VS2010编C语言详细步骤
在VS2005上编写、运行、调试C语言程序目录前言:关于C/C++编译器的简单介绍.............- 4 -1.编辑、编译与运行........................- 5 -2.调试技术...............................- 20 - 设置断点..............................- 20 -调试运行..............................- 22 -快速监视..............................- 25 -3.小结...................................- 31 -搜索、整理、编辑/林中墨客 2009年4月26日于六安前言:关于C/C++编译器的简单介绍Turbo C 2.0发布于1989年,对历史并不太长而发展却神速的IT业来说,确实是古董级的软件了。
但它几乎是最后一个专门为C语言设计的开发环境,具备学习C语言的一切条件,没有任何非C 语言的东西干扰初学者,所以一直被各大高校的C语言课堂采用。
C++的发展使C++的开发环境大行其道。
因为C++几乎完全兼容C语言,两者无论编译器还是编辑器、调试器都可以用同一套程序实现,而且C++共享C的库函数,很多软件还是用两者混合编程实现,所以基本所有的C++环境都同时支持C语言。
上学期使用的Dev-c++是Windows平台下C++ IDE开发环境,属于共享软件。
界面亲切优雅,size 也不大,其后续版有中文语言支持,无需汉化。
该编译器适合于规模较小的软件项目。
美国微软公司出品的Visual C++(以下简称VC)是Windows平台上最流行的C/C++集成开发环境。
从1993年发行1.0版本开始,历经多年锤炼,于2003年推出最新的7.0版本(Visual C++ .NET 2003)。
VC系列产品具有稳定而强大的IDE开发环境,以及丰富的调试功能,微软于2005年底发布Visual Studio 2005,本文将介绍在VS2005下如何开发C语言程序。
VS2008编译C语言程序详细步骤
或者安装为试用版,安装完成后,在“控制面板”中启动“添加删除程序”,选中 Vs2008,点击“更改、删除”,输入序列
号:P YHYP-WXB3B-B2CCM-V9DX9-VDY8T
上一篇>> 情到深处 心在滴血
下一篇>> Visual Studio 2005/2008 中如 何...
类别:默认分类 | 浏览(11115) | 评论 (13) 网友评论
回复 1kimsoonja2011-01-10 11:19
谢谢您的讲解。可是我怎么完全按照你的讲解一步步做了就是 编译通不过去。连 printf 语句编译程序都不认。怎么回事。 我的 vs2008 也是用的您给的网站下载的。原先不好使。我下载 了您推荐的可是问题依旧。麻烦您在百忙中帮忙解答一下。万 分感谢。
Visual Studio 2008(VS2008)编译 C 语言方法 xp,vista,win7(32,64 位)都可运行,效 果很好!
2011-01-01 13:31
大家在学习 C语言的时候接触的一般都是VC6.0。但是 VC6.0 只能编译 C或 者 C++,不支持 C#,集成度不是很高。而且界
译器是不是支持某种 C 语法的时候,还是老老实实的记得加上.C,来告诉编译 系统使用 C 编译器而不是 C++。 注三:绿色小箭头的意思是“调试”,快捷键 F5,使用的时候会吧程序从头执行到 尾,然后自动退出,如果你的程序没有
暂停语句的话,就会出现黑色的程序窗口一闪而过的情况。如果不想让程序在调 试完毕后自动退出,最简便的方法就是选
为止,最流行的还是VisualStudio2008(内部代号 VC9.0,以下简称 VS2008)。 大家接触 VS2008 一般都是从 C#或者 VB
Visual_Studio_2008(VS2008)编译C语言方法
Visual Studio 2008(VS2008)编译C语言方法 xp,vista,win7(32,64位)都可运行,效果很好!前言:大家在学习C语言的时候接触的一般都是VC6.0。
但是VC6.0只能编译C或者C++,不支持C#,集成度不是很高。
而且界面并不十分友好,不能自动猜测关键字,函数的参数也不能自动标示。
最关键的是,编译的时候纠错信息是全英文的,对于初学者十分不方便。
在演示编译一些简单的C程序时VC6.0可以胜任,但是在进行稍微复杂的程序编辑工作时,VC6.0就有点力不从心了。
现在微软的基于.NET的开发软件已经更新至Visual Studio 2010(VS2010)但是VS2010版本还不是最完善,所以目前为止,最流行的还是Visual Studio 2008(内部代号VC9.0,以下简称VS2008)。
大家接触VS2008一般都是从C#或者VB语言开始的,其实VS2008作为一款集成度很高的编译软件,其本身也是支持C语言的。
大家可以用它来进行C语言的编译。
相较于VC6.0,VS2008更加的智能,更加人性化。
而且VS2008还支持windows7(VC6.0不支持),所以很多装了windows7的朋友就不用头疼了。
具体步骤:下面,就向大家啊演示如何使用VS2008编译C程序,本文中使用VS2008 professional版本。
1.打开VS2008,这就不用多说了吧(安装就不说了,很简单的,但是时间很长)2.打开了VS2008的主界面,然后选择,文件→新建→项目弹出如图对话框在项目类型中选择VC++→win32 然后在右侧模板中选择win32控制台应用程序,再在下面输入一个名称(项目名称,不用带.C)选择保存位置后确定好了,弹出个对话框,不管它,下一步接下来注意了,这个对话框中,应用程序类型要选择控制台应用程序,附加选项一定要选中“空项目”。
然后点完成。
然后对话框消失,回到VS主界面,这时会在左侧和右侧多了如图工具栏“解决方案管理器”,如果没有,请单击工具栏上右端最左边的那个按钮在源文件上点右键,选择“添加→新建项”。
在VS2008中使用Qt编程
windows vs2008 安装编译 QT准备工作:1.VS20082.qt-vs-addin-1.1.8.exe(其他版本也可)3.qt-win-opensource-4.7.2-vs2008.exe安装过程:1.安装VS2008(可以选择默认路径)2.安装qt-win-opensource-4.7.2-vs2008.exe(我选择路径:D:\Qt\4.7.2)3.安装qt-vs-addin-1.1.8.exe(不需要考虑QT,可以选择默认路径)4.配置QT环境变量,控制面板->系统->高级->环境变量,在“系统变量”这个组合框中,找到“Path”变量,在"Path"的最后面添加"D:\Qt\4.7.2\bin\"5.开始 -> 程序 -> Microsoft Visual Studio 2008 -> Visual Studio Tools ->Visual Studio 2008 命令提示6.在命令行中键入:d: 回车cd D:\Qt\4.7.2 回车configure -platform win32-msvc2008 -debug-and-releasenmake7.配置qt-vs-addin,把D:\Qt\4.7.2下的.qmake.cache和configure.cache这两个文件手动备份到另一个地方。
然后输入指令:nmake confclean 指令完成后将会减少一些不再需要的文件。
这个时候再把刚备份的.qmake.cache和configure.cache拷回原处。
这时候最好把编译后的一堆东西打个包备个份,免得下次又要编译几个小时。
8.打开VS2008,菜单栏会多出一个Qt选项,选择Qt选项下的Qt Options,在Qt Versions中添加路径,点击Add,选择路径D:\Qt\4.7.2,OK。
vs2008工程配置参数
也许你已经习惯了VS默认的工程文件保存路径,但有些人希望工程的源文件和生成文件能按照自己的安排对号入座,方便管理。
例如希望把所有的*.h文件放入include文件夹,.cpp文件放入source文件夹,.lib文件放入lib文件夹,把大量的中间文件丢进TEMP等等。
下面是一个动态链接库的配置:VS2008+SP1首先解决方案配置设置4个(当然这个根据你自己需求,如果库没有用到TCHAR之类的宏,那么一般定义Debug和Release就OK拉。
)DebugReleaseUnicode_DebugUnicode_Release四个配置的公共设置是配置属性->常规->输出目录:$(SolutionDir)Temp\Link\$(ProjectName)\$(ConfigurationName)\配置属性->常规->中间目录:$(SolutionDir)Temp\Compile\$(ProjectName)\$(ConfigurationName)\当编译时候以上文件目录会自动生成。
配置属性->常规->配置类型:这个当然都必须选择一样的啦,这里的示例为动态链接库(.dll)配置属性->连接器->高级->导入库:$(TargetDir)$(TargetName).lib配置属性->生成事件->生成后事件->命令行:copy $(TargetPath) $(ProjectDir)Bin\;copy $(TargetDir)$(TargetName).lib $(ProjectDir)Bin\;copy $(ProjectDir)include\I$(ProjectName).h $(ProjectDir)Bin\;Bin文件夹得自己生成哦。
I$(ProjectName).h这个是接口的头文件了,方便C++调用哈。
如果有def文件,配置属性->连接器->输入->模块定义文件:source/mc_log.def注意def文件中千万别定义LIBRARY,否则所有的lib文件都将导入该定义名的dll文件,会出现几个媳妇抢老公的场面。
Visual+Studio+2008下安装FFTW
Visual Studio 2008下安装FFTW简介FFFTW是一个来计算一维或者多维离散时间傅立叶变换(DFT)的C库,可以计算任意输入大小,实数和虚数以及奇偶数据(离散余弦/离散正弦变换,DCT/DST)。
FFTW,将成为FFT的C 库,是更多应用的佳选。
详细介绍请参考/。
1.FFTW in VS2008选自/install/windows.html的Windows Installation NoteWe have created precompiled DLL files for FFTW 3.3 in single/double/long-double precision, along with the associated test programs. We hope that these are sufficient for most users, so that you need not worry about compiling FFTW:32-bit version: fftw-3.3-dll32.zip (1.8MB)64-bit version: fftw-3.3-dll64.zip (2.2MB)These DLLs were created by us, cross-compiled from GNU/Linux using MinGW; the 64-bit version is possible thanks to the mingw-w64 project. You should be able to call them from any compiler. In order to link to them from Visual C++, you will need to create .lib "import libraries" using the lib.exe program included with VC++. Run:lib /def:libfftw3-3.deflib /def:libfftw3f-3.deflib /def:libfftw3l-3.def这里要注意电脑CPU是32还是64位。
VC2008编译选项和编译库
VC2008中影响exe大小和速度的全部编译选项今天介绍VC中的编译器选项,全面介绍不需要,MSDN里从头到尾都介绍完了,今天我只讲对生成的exe文件大小和速度有影响的。
用VC就得用IDE,我也以IDE的工程设置里面的排列顺序介绍,某些选项需要自己手动添加的最后介绍,我后面说的默认值是release的,debug版本一般不需要调选项。
项目- 属性- 配置属性- C/C++,这是编译器选项。
优化:通常,算法程序选择最大化速度(/O2),界面程序选择最小化大小(/O1),可以获得最佳的效果。
优选大小或速度,只有在使用完全优化(/Ox)时才有效,完全优化一般不推荐使用,用处就是可以生成速度与/O2基本相当,但是体积更小的代码(选速度优先的话)。
其他几个选项实际上已包含在/O1、/O2之中,具体请看MSDN。
代码生成:启用字符串池(/GF),会将相同的字符串合并,当然可以减小空间占用,虽然本项目默认没有打开,但是默认的/Zi选项会自动打开/GF,这里打不打开一样。
启用C++异常:该项默认打开,在C++项目中(比如MFC中),会大大增加程序体积,增加约30%,关闭并不代表try不能用了,但会一定程度上降低健壮性,对于空间要求较高的程序,建议关闭。
对于正式项目,请参见MSDN,看看会不会造成不利影响。
运行库:默认多线程DLL(/MD),体积最优的方案,如果对方没有VS运行时库,选择/MT 会将C/C++运行库静态编译,体积增加不少,因此,我的选择一般是程序与redist包一起发布,也就几M,而且以后永远可以接受/MD版本了。
缓冲区安全检查:关闭的话,减少0.5K~1K体积(默认情况,VC的段长度512字节,因此程序体积变化的最小单位是0.5K)。
启用增强指令集:真想用SSE3的话去用Intel C++,VS2008只支持到SSE2,而且,在我的机器上貌似使用默认设置就能达到选择SSE2的相同速度,如果安装了Intel C++ 11,可集成与VS2008,同样的地方选择SSE3效果超群。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/Qimprecise_fwaits 仅在“try”边界上生成 FWAITs,而不是“try”内部
-输出文件-
/Fa[file] 命名程序集列表文件 /FA[scu] 配置程序集列表
strict -“strict” 浮点模式(意味着 /fp:except)
即使使用 /fp:except,/Qfast_transcendentals 也生成内联内部 FP
/GL[-] 启用链接时代码生成 /GA 为 Windows 应用程序进行优化
/Ge 对所有函数强制堆栈检查 /Gs[num] 控制堆栈检查调用
/Fd[file] 命名 .PDB 文件 /Fe<file> 命名可执行文件
/Fm[file] 命名映射文件 /Fo<file> 命名对象文件
/Fp<file> 命名预编译头文件 /Fr[file] 命名源浏览器文件
/GZ 启用堆栈检查(/RTCs) /QIfist[-] 使用 FIST 而不是 ftol()
/hotpatch 确保可热修补映像的函数填充
/arch:<SSE|SSE2> CPU 结构的最低要求,为以下内容之一:
SSE - 启用支持 SSE 的 CPU 可用的指令
/link [链接器选项和库] /MD 与 MSVCRT.LIB 链接
/MT 与 LIBCMT.LIB 链接 /MDd 与 MSVCRTD.LIB 调试库链接
/MTd 与 LIBCMTD.LIB 调试库链接
initialAppDomain - 启用 Visual C++ 2002 的初始 AppDomain 行为
noAssembly - 不产生程序集 /Gd __cdecl 调用约定
/Gr __fastcall 调用约定 /Gz __stdcall 调用约定
/H<num> 最大外部名称长度 /J 默认 char 类型是 unsigned
/MP[n] 最多使用“n”个进程进行编译 /nologo 取消显示版权消息
/showIncludes 显示包含文件名 /Tc<source file> 将文件编译为 .c
-链接-
/LD 创建 .DLL /LDd 创建 .DLL 调试库
/LN 创建 .netmodule /F<num> 设置堆栈大小
/w<l><n> 为 n 设置警告等级 1-4 /W<n> 设置警告等级(默认 n=1)
/Wall 启用所有警告 /WL 启用单行诊断
/WX 将警告视为错误 /Yc[file] 创建 .PCH 文件
/Tp<source file> 将文件编译为 .cpp /TC 将所有文件编译为 .c
/TP 将所有文件编译为 .cpp /V<string> 设置版本字符串
/w 禁用所有警告 /wd<n> 禁用警告 n
/we<n> 将警告 n 视为错误 /wo<n> 发出一次警告 n
C/C++ 编译器选项
-优化-
/O1 最小化空间 /O2 最大化速度
/Ob<n> 内联扩展(默认 n=0) /Od 禁用优化(默认)
/Og 启用全局优化 /Oi[-] 启用内部函数
/EHc 外部“C”默认为 nothrow
/fp:<except[-]|fast|precise|strict> 选择浮点模式:
except[-] - 在生成代码时考虑浮点异常
fast -“fast”浮点模式;结果可预测性比较低
precise -“precise”浮点模式;结果可预测
/errorReport:option 将内部编译器错误报告给 Microsoft
none - 不发送报告 prompt - 提示立即发送报告
queue - 在下一次管理员登录时,提示发送报告(默认)
send - 自动发送报告 /FC 诊断中使用完整路径名
/ZI 启用“编辑并继续”调试信息 /openmp 启用 OpenMP 2.0 语言扩展
- 杂项 -
@<file> 选项响应文件 /?, /help 打印此帮助消息
/bigobj 生成扩展的对象格式 /c 只编译,不链接
/Yd 将调试信息放在每个 .OBJ 中 /Yl[sym] 为调试库插入 .PCH 引用
/Yu[file] 使用 .PCH 文件 /Y- 禁用所有 PCH 选项
/Zm<n> 最大内存分配(默认为 %) /Wp64 启用 64 位端口定位警告
/FR[file] 命名扩展 .SBR 文件
/doc[file] 处理 XML 文档注释,并可选择命名 .xdc 文件
-预处理器-
/AI<dir> 添加到程序集搜索路径 /FU<file> 强制使用程序集/模块
/Gy[-] 分隔链接器函数 /GS[-] 启用安全检查
/GR[-] 启用 C++ RTTI /GX[-] 启用 C++ EH (与 /EHsc 相同)
/EHs 启用 C++ EH (没有 SEH 异常) /EHa 启用 C++ EH (w/ SEH 异常)
/RTCu 未初始化的局部用法检查
/clr[:option] 为公共语言运行库编译,其中 option 是:
pure - 生成只包含 IL 的输出文件(没有本机可执行代码)
safe - 生成只包含 IL 的可验证输出文件
oldSyntax - 接受 Visual C++ 2002/2003 的托管扩展语法
/FI<file> 命名强制包含文件 /U<name> 移除预定义的宏
/u 移除所有预定义的宏 /I<dir> 添加到包含搜索路径
/X 忽略“标准位置”
-语言-
/Zi 启用调试信息 /Z7 启用旧式调试信息
/Zp[n] 在 n 字节边界上包装结构 /Za 禁用扩展
/Ze 启用扩展(默认) /Zl 忽略 .OBJ 中的默认库名
/Zg 生成函数原型 /Zs 只进行语法检查
-代码分析-
/analyze[:WX-] 启用代码分析
WX- - 即使调用了 /WX,也不应将代码分析警告视为错误
/C 不抽出注释 /D<name>{=|#}<text> 定义宏
/E 将预处理定向到 stdout /EP 预处理到标准输出,没有 #line
/P 预处理到文件 /Fx 将插入的代码合并到文件中
/vd{0|1|2} 禁用/启用 vtordisp /vm<x> 指向成员的指针类型
/Zc:arg1[,arg2] C++ 语言合规性,这里的参数可以是:
forScope[-] - 对范围规则强制使用标准 C++
wchar_t[-] - wchar_t 是本机类型,不是 typedef
/Gh 启用 _penter 函数调用 /GH 启用 _pexit 函数调用
/GT 生成纤程安全 TLS 访问 /RTC1 启用快速检查(/RTCsu)
/RTCc /Os 优选代码空间 /Ot 优选代码速度
/Ox 最大化优化 /Oy[-] 启用帧指针省略
-代码生成-
/GF 启用只读字符串池 /Gm[-] 启用最小重新生成