windows 程序设计


怎样创建一个 blank solution
菜单中一次 file-->new-->project

左侧的树状listview中,other project types --> Visual Studio solutions --->blank solution



解 决VC2008加载符号缓慢的问题
虽然VC2008在机器上安装有一段时间了,但是平时开发还是VC6用的多。今天下午调试一下《把脉VC++》一书所附带的源码

时发现在我机器上 VC2008进入调试模式时非常的慢。表现是Debug Output的地方一个接一个的加载用到的dll文件所对应

的符号,一看防火墙:晕,居然是从网上下载的!每加载一个DLL就上网下载符号文件,公司网速 又慢,实在烦人。
自己尝试了一番,未果。又在网上搜索一番,最后在以下网址找到了解决方法:
http://www.wintellect.com/CS/blogs/jrobbins/archive/2009/05/29/keeping-specific-pdb-files-from-loading-in-

the-debugger.aspx
方法1(经过测试):
在VS2008的安装目录的IDE文件夹下(我机器上是D:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE)新建一

个symsrv.ini文件,我们可以在里面设置想要排除的文件。因为我全都不想加载,所以就*.*啦,文件内容 如下:(拷贝

下面的东西,包括------)
-------------------------------------------------------------------------------------------------
[exclusions]
*.*




1 vs 2008 快捷键

F5 调试运行
ctrl + F5 直接运行
shift + F5 终止调试
编译单个文件 ctrl + F7



1.强大的渐进式搜索
   操作步骤:
1.按Ctrl+I键;
2.输入你要搜索的文本。注意:这时你会看到光标跳至第一个匹配的位置,并高亮显示搜索的文本。
3.再次按下Ctrl+I键,光标将跳至下一个匹配的文本;
4.按Ctrl+Shift+I可向后搜索;
5.按ESC键停止搜索;

2.使用快捷键来注释和取消注释
   操作步骤:
1、注释代码:Ctrl+K,Ctrl+C
2、取消注释::Ctrl+K,Ctrl+U


测试用例结果
P pass F failed NT not test


融博

c++ primer

数据库 sql 基本知识



win32 dll 允许导出全局变量就像导出函数一样

在 win 32中,每一个进程对dll的可读写全局变量都有自己的私有拷贝。 如果我们想在进程间共享内存,我们或者可以使

用内存映射文件,或者可以声明一个共享数据区。
只要dll申请对内存,他就从客户进程的堆中进行内存分配

在简单的情况下,只有一个exe文件从一个或多个dll导入函数;
而在实际情况下,许多dll调用了其他dll里的函数。
因此,一个特殊的dll可以同时有导入和导出


同一个解决方案编译生成的文件(动态库、可执行exe等),默认都保存在同一个文件夹下(如SolutionDir/debug目录)


默认的当前工作目录是工程目录。
在vs进行调试执行时,当前工作目录和可执行模块所在的目录不是同一个目录。一个是SolutionDir/ProgrameName目录,

一个是SolutionDir/debug目录。
可以通过如下两个API来验证:
GetCurrentDirectory 获得当前工作路径
GetModuleFileName 得到当前模块路径


怎样设置同一个解决方案里各个工程的编译顺序
在 解决方案属性|项目依赖项 中设置一下各项目的依赖关系

对于显式链接,并不需要导入库文件.lib,只需要调用WIN32的LoadLibrary函数,指定DLL的路径名作为参数。

LoadLibrary返回一个HINSTANCE参数,我们可以在GetProcAddress调用中使用该参数。

对于隐式链接,所有的DLL都在客户端程序被装载的时候装载,但在显式链接的情况下,我们可以决定什么时候装载和卸载



进程中的每一个dll都被一个唯一的32位HINSTANCE值所标识。此外,进程本身有一个HINSTANCE值。所有这些实例句柄只有

在进程内部才有效,他们代表了dll或exe的起始虚拟地址。

获得EXE或DLL的句柄


客户程序如何找到DLL
如果用LoadLibrary显式链接DLL的话,我们可以指定DLL的全路径名。如果我们没有指定路径名,或者采用了隐式链接,则

Windows讲使用下面的搜索序列定位DLL
1 包含EXE文件的目录
2 进程的当前目录
3 windows系统目录
4 windows目录
5 在PATH环境变量里列出的目录


扩展DLL和正规DLL







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值