编程工具与总结
holdoner
极端理性与极端感性的综合体
展开
-
vs 2010
msbuild.exe概念MSBuild是 Microsoft Build Engine 的缩写,代表 Microsoft 和 Visual Studio 的新的生成平台。MSBuild 在如何处理和生成软件方面是完全透明的,使开发人员能够在未安装 Visual Studio 的生成实验室环境中组织和生成产品。补充MSBuild 引入了一种新的基于 XML 的项目文件格式,这种原创 2013-04-10 13:33:03 · 859 阅读 · 0 评论 -
VS2010 调试经验总结
1.断点设置如果设置在一个逻辑语句的里面,那么这个断点可能不会中断调试的程序的流程:if(flag){ language1 //断点设置在这里可能不会中断程序 language2 //}原创 2013-05-28 13:23:58 · 675 阅读 · 0 评论 -
总结一下几个工具
qmake:Qt附带的工具之一。主要作用是生成project文件和makefile文件。一种常见的误解是认为qmake是编译器。gcc/g++:编译器,在编译源代码文件的时候必须用参数来指明编译规则,所以不适合用于大型项目的开发。make:根据makefile文件对源文件进行编译生成可执行文件。相当于可以把编译规则写在文件中,所以适合大型项目的开发注:qmake是Qt的工具,主原创 2013-05-13 17:17:13 · 884 阅读 · 0 评论 -
斜杠与反斜杠
URL中用“/”看看浏览器就知道了在C或C++编译器中路径要用“/”在Windows 的资源管理器中或命令提示符中用“\”原创 2013-05-27 09:54:07 · 693 阅读 · 0 评论 -
解析vs2010下的可执行程序
把微软的集成开发环境vs2010大卸八块。devenv.exe:启动vs2010之后就会运行的程序,主要负责vs2010的开发窗口界面的管理。msbuild.exe: 根据工程文件(在找到相关的源代码)创建可执行程序。命令行使用手册:http://technet.microsoft.com/zh-cn/library/ms164311%28v=vs.85%29.aspxcl原创 2013-05-02 10:51:01 · 1073 阅读 · 0 评论 -
C/C++中的 error LNKxxxx: unresolved external symbol "xxxxx"
一般这种错误的原因是没有把相应的库文件(即lib文件)链接到工程里面,具体的错误提示如下filename.obj: error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall functionname(argument)"其中filename就是obj文件名.这段话的意思,就是说原创 2013-04-30 10:57:38 · 2447 阅读 · 0 评论 -
把lib文件加入到工程中的步骤(以vs2010为例)
1.右击你的工程名2.选择属性(propertities)3.展开Linker,选中General,把lib文件所在的目录加到Additional Library Directories 里面去4.再选中Linker下的Input,,再把lib文件加到Additional Dependencies 里面去另一种在源文件中直接调用的方法:#pragma c原创 2013-04-30 11:09:45 · 3319 阅读 · 0 评论 -
debug 与 release
在vc和vs下进行编程时,会遇到debug与release两种配置。如果学过《编译原理》那么就很容易理解为什么会有这两种配置了。一个编译器一般包括六个阶段:词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成。简单说来,debug生成的exe文件没有“代码优化”这个阶段。而release生成的exe是有这个阶段的。为什么要做这样的区分呢?debug主要是便于调试;原创 2013-04-30 18:53:13 · 935 阅读 · 0 评论 -
编程中常见问题的经验总结
问题一:程序卡住。原因:可能是因为循环的累加器没有累加,导致程序在while 或for等循环语句中无限循环。问题二:内存访问出错。原因:可能是指针指向错误。问题三:文件打开失败。原因:路径错误,尤其是盘符表示, “\”与“/”的使用混淆。原创 2013-04-19 17:00:26 · 804 阅读 · 0 评论 -
编译器调用函数的相关问题
几种函数调用方式__cdecl 是C Declaration的缩写(declaration,声明),表示C语言默认的函数调用方法:所有参数从右到左依次入栈,这些参数由调用者清除,称为手动清栈。被调用函数不会要求调用者传递多少参数,调用者传递过多或者过少的参数,甚至完全不同的参数都不会产生编译阶段的错误。_stdcall 是StandardCall的缩写,是C++的标准调用方式:所有参数从右转载 2013-04-10 14:48:17 · 1186 阅读 · 0 评论 -
静态链接与动态链接的区别
动态链接库、静态库、import库区别动态链接库(Dynamic Linked Library):Windows为应用程序提供了丰富的函数调用,这些函数调用都包含在动态链接库中。其中有3个最重要的DLL,Kernel32.dll,它包含用于管理内存、进程和线程的各个函数;User32.dll,它包含用于执行用户界面任务(如窗口的创建和消息的传送)的各个函数;GDI32.dll,它包含用于画转载 2013-04-10 14:17:16 · 958 阅读 · 0 评论 -
MSBuild 简解
从最原始的编译器,逐渐到 Shell 命令组合、Make工具,到现在的针对性 Build 工具,Rake、Ant、MSBuild,甚至于 PowerShell 这样的工具;都为我们软件开发以及系统管理做出了贡献,我甚至不能想象几十年前使用编译器生成程序的复杂步骤(其实就是把 makefile 拆开,相当恐怖)。 探讨 Make、Ant 以及 MSBuild 无太多意义,甚至从纯技术和扩展性上转载 2013-04-10 13:41:07 · 1115 阅读 · 0 评论 -
VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结
BackgroundMSDN中对于在不同的配置下Link的LIB作了说明:C Runtime Library:开关对应的库版本/MDMSVCRT.LIB多线程DLL的Release版本/MDdMSVCRTD.LIB多线程DLL的Debug版本转载 2013-06-26 17:45:12 · 963 阅读 · 0 评论