当前位置:首页 » 编程软件 » vs2010编译器设置

vs2010编译器设置

发布时间: 2023-06-26 00:50:39

‘壹’ 如何在VS2013下使用VS2010的C++编译器并调试

以HelloWorld为例 打开VS2011 文件->新建->项目-> 左边安装的模版中,选中Visual C++ 中间选择Win32控制台应用程序,输入项目名称 点击确定->下一步->完成,或者直接点完成 VS2011写了一些代码,可以删掉,然后自己写 #include"stdafx.h" //这个在VS2011得写上 #include using namespace std; void main() { cout<调试->开始执行(不调试),这样程序会在结尾处停止 如果选启动调试,程序就会直接执行完,看不到结果 编译,就是菜单栏->生成->生成解决方案,或者第四项:生成+(项目名称),或者最后一项,编译 都是同样的效果.

‘贰’ 如何在VS2010环境下编译C++程序

用 Visual Studio 编写 Visual C++ 程序的第一步是选择项目的类型。对于每种项目类型,Visual Studio 都为您设置编译器设置并生成起始代码。

创建新项目
在“文件”菜单中,指向“新建”,然后单击“项目...”。

在“项目类型”区域中,单击“Win32”。然后,在“Visual Studio 已安装的模板”窗格中,单击“Win32 控制台应用程序”。

键入项目名称。

创建新项目时,Visual Studio 将该项目放入一个解决方案。请接受解决方案的默认名称,该名称与项目的名称相同。

您可以接受默认位置、键入一个不同的位置或者浏览到要保存项目的目录。

按“确定”启动“Win32 应用程序向导”。

在“Win32 应用程序向导”对话框的“概述”页中,单击“下一步”。

在“应用程序类型”下的“应用程序设置”页,选择“控制台应用程序”。选择“其他选项”下的“空项目”设置并单击“完成”。

现在,您得到了一个没有源代码文件的项目。

这一章将帮助大家解释一些常见的错误、警告和问题,帮助大家去理解和解决一些常见问题,并了解它的根本原因。
iostream.h与<iostream>
下面的代码为什么在VC2010下面编译不过去?
#include <iostream.h>
int main()
{
cout<<"Hello World."<<endl;
return 0;
}
错误信息:fatal error C1083: 无法打开包括文件:“iostream.h”: No such file or directory
造成这个错误的原因在于历史原因,在过去C++98标准尚未订立的时候,C++的标准输入输出流确实是定义在这个文件里面的,这是C风格的定义方法,随着C++98标准的确定,iostream.h已经被取消,至少在VC2010下面是这样的,取而代之的是我们要用<iostream>头文件来代替,你甚至可以认为<iostream>是这样定义的:
namespace std
{
#include "iostream.h"
}
因此我们可以简单的修改我们的Hello World。
#include <iostream>
using namespace std;
int main()
{
cout<<"Hello World."<<endl;
return 0;
}
iostream.h是属于C++的头文件,而非C的,因此标准订立的时候被改成了<iostream>。而C的头文件stdio.h等依然可以继续使用,这是为了兼容C代码。但是它们依然有对应的C++版本,如<cstdio> <cstdlib>等。记住,在VC2010上面采用C++风格的头文件而不是C风格的头文件,除非你是在用C。

‘叁’ 高手们来看看VS2010 中编译器设置都是什么意思(其实VS2008也差不多吧),谁能详细的给说一下,万分感谢了

这是C/C++编译优化设置部分
第一行,启用的优化等级,这里优化被禁止了
第二行,内联函数,表示是否展开,还是以函数形式存在
第三行,是否启用内部函数
使用内部函数的代码比较快,因为它们没有函数调用的系统开销。但由于创建了附
加代码,代码尺寸可能比较大。
第四行,优化方式,速度优先还是代码尺寸优先;通常会选择速度优先,现在尺寸已不是问题
第五行,是否禁止在调用堆上创建框架指针,以加快函数调用;堆内存分配算法需要时间
第六行,是否启用纤程安全的线程本地存储优化
第七行,是否启用全局链接时代码优化;指的是生成具体指令过程推迟到链接的时候,这样有
助于具体的一些优化,比如,函数内部变量,有些可以是寄存器变量,没必要再
栈里分配,寄存器访问比内存访问快很多,这些都依赖于函数的调用拓扑等关系。

‘肆’ VS2010 尝试设置 IDE 的进程内编译器的“References”参数时出现问题。对 COM 组件的调用返回了错误HRESU

HashSet不允许元素重复。所以你String数组中重复String将不被添加进HashSet。
代码大意:
遍历你的数组逐个添加到HashSet中,然后拿出HashSet中元素赋值给String数组。
数组长度会变短,删除了重复String吗。
那个警告没事,是List泛型的警告吧。如List list=new ArrayList();现在IDE都会报警告,要加泛型,也就是List中放置元素类型.如List<Integer> list=new ArrayList<Integer>();就没事了

‘伍’ 这是VS2010编译器优化吗怎么改

这个问题比较深, 所以只有哥来回答你了。

你说的问题在VS2008上也是相同的表现,这个是因为微软的库实现不是直接实现在你call的generate_n这个函数上的,而是有好几重转调,所以造成你即使对第一重调用的 模板函数用 引用去实例化,由于后面转调的函数都是使用值去实例化的,所以实际你得到的运行效果还是值语义的。

比如你call 函数 func1<A&>(), 但是由于func1<A&>() 调用了func2<A>(), 又继续调用了func3<A>(), 最后func3里操作的其实是一个值拷贝,所以影响不到外面的引用的对象。

哥去 微软报了个bug,里面写得比较细,你可以仔细看,http://connect.microsoft.com/VisualStudio/feedback/details/676282/vs-2010-sp1-doesnt-conform-to-the-c-standard-library-a-tutorial-and-reference

‘陆’ 如何在MATLAB R2010a 中使用Visual C++ 2010编译器

1、安装补丁VS2010MEXSupport.zip

由于MATLAB R2010a 发布的时间要比 VS2010早,所以在该版本识别不了VC++2010编译器。不过R2010a之后的版本应该不会有这种问题了。

解压补丁包,将其中的文件放到 D:Program 文件夹下。

2、在MATLAB中安装VC++ 2010 编译器

打开Matlab,在 command window 中输入 mex -setup

>> mex -setup
Please choose your compiler for building external interface (MEX) files:

Would you like mex to locate installed compilers [y]/n?n (一定要选择 n)

Select a compiler:
[1] Intel C++ 11.1 (with Microsoft Visual C++ 2008 SP1 linker)
[2] Intel C++ 9.1 (with Microsoft Visual C++ 2005 SP1 linker)
[3] Intel Visual Fortran 11.1 (with Microsoft Visual C++ 2008 SP1 linker)
[4] Intel Visual Fortran 11.1 (with Microsoft Visual C++ 2008 Shell linker)
[5] Intel Visual Fortran 10.1 (with Microsoft Visual C++ 2005 SP1 linker)
[6] Lcc-win32 C 2.4.1
[7] Microsoft Visual C++ 6.0
[8] Microsoft Visual C++ 2005 SP1
[9] Microsoft Visual C++ 2008 Express
[10] Microsoft Visual C++ 2008 SP1
[11] Microsoft Visual C++ 2010
[12] Microsoft Visual C++ 2010 Express
[13] Open WATCOM C++
[0] None
Compiler:12

注意,如果选择 n 之后,没有列出这么多编译器选项,甚至没有出现VC++ 2010。 不要慌,此时选择 0,即None。

Compiler: 0

mex: No compiler selected. No action taken.
Warning: The MATLAB C and Fortran API has changed to support MATLAB
variables with more than 2^32-1 elements. In the near future
you will be required to update your code to utilize the new
API. You can find more information about this at:
http://www.mathworks.com/support/solutions/en/data/1-5C27B9/?solution=1-5C27B9
Building with the -largeArrayDims option enables the new API.

然后在command window 里再次输入 mex -setup。

>> mex -setup
Please choose your compiler for building external interface (MEX) files:

Would you like mex to locate installed compilers [y]/n?n (一定要选择 n)

此时就会列出很多编译器,包括已经VC++2010。如果还没有,可重复几次以上过程。当然前提是必须安装VS2010,否则,再怎么重复,也找不到VC++2010编译器。

列出VC++2010编译器之后,我相信接下该怎么做对大家来说没问题。


3、error C2371: 'char16_t' : redefinition; different basic types

在混合编程中,也许会出现如下错误:

C:Microsoft Visual Studio 10.0VCINCLUDEyvals.h(576) : error C2371: 'char16_t' : redefinition; different basic types
C:.h(330) : see declaration of 'char16_t'

原因是VS2010中的yvals.h添加了char16_t的定义,而Matlab的matrix.h也包含对char16_t的定义,所以同时包含这两个头文件的话,会导致重复定义char16_t的错误。

完全没有必要修改这两个头文件(以防修改之后,会在将来导致一些问题),只需要在包含matrix.h之前包含yvals.h即可。例如:

#include<yvals.h>
#if(_MSC_VER>=1600)
#define__STDC_UTF_16__
#endif
#include"mex.h"

mex.h 包含matrix.h。这就要求我们必须知道所包含的头文件是否包含matrix.h。

‘柒’ 用VS2010将英文程序源码编译以后,中文界面语言显示乱码

在vc6.0中默认的编码是Ascii编码,VS2010中默认的编码是Unicode编码,你可以设置你的VS2010编译器中的字符编码为Ascii
,你可以将代码修改成
MessageBox(hwnd,(LPCWSTR)CString("OK"),(LPCWSTR)CString("显示"),0);
就可以啦

‘捌’ 如何提高vs2010编译速度

如果你的cpu够强你应该学会如何利用好它来加速你的代码编译速度,那么你怎么才能够最大限度让你的cpu发烧呢?

下面是一个对比:

比如我的cpu是i7 3770k,

编译cocos2d-x的libcocos2d工程:

不优化:

1>Time Elapsed 00:01:35.25

优化后:

1>Time Elapsed 00:00:21.66

效果显着!!!

参考网页:

Visual Studio 2010中C++并行构建调优(1)
http://developer.51cto.com/art/201003/189235.htm

1>cl : Command line warning D9030: '/Gm' is incompatible with multiprocessing; ignoring /MP switch

解决办法是:

Properties -> Configuration Properties -> C/C++ -> Code Generation -> Enable Minimal Rebuild -> No(/Gm-)

Properties -> Configuration Properties -> C/C++ -> Geneal -> Multi-processor Compilation -> Yes(/MP)

一些含义和拓展资料:

Enable minimal rebuild
通过保存关联信息到.IDB文件,使编译器只对最新类定义改动过的源文件进行重编译,提高编译速度

Enable Incremental Compilation
同样通过.IDB文件保存的信息,只重编译最新改动过的函数

/MP (Build with Multiple Processes)

http://msdn.microsoft.com/en-us/library/bb385193.aspx

/Gm (Enable Minimal Rebuild)

http://msdn.microsoft.com/en-us/library/kfz8ad09.aspx

‘玖’ 如何改变VS2010的编译器

改不了
不支持自己配置
如果你想使用其它编译器
那就只能把VS做编辑,不要用它编译 调试 运行
用你其它的编译器 去编译 运行。

热点内容
jffs2解压 发布:2025-02-08 13:55:15 浏览:387
如何向服务器发送大数据包 发布:2025-02-08 13:55:12 浏览:662
服务器pop地址是什么 发布:2025-02-08 13:39:21 浏览:386
网站访问计数器 发布:2025-02-08 13:32:07 浏览:6
钓鱼的腥怎么配置 发布:2025-02-08 13:22:57 浏览:754
php数组的引用 发布:2025-02-08 13:22:54 浏览:94
致远a6服务器地址在哪里看 发布:2025-02-08 13:22:06 浏览:132
bak文件还原数据库 发布:2025-02-08 13:21:34 浏览:103
双向的访问了你的空间 发布:2025-02-08 13:13:20 浏览:701
python元素是否在list 发布:2025-02-08 13:11:38 浏览:695