acmilan
千古风流
进士 学者 笔友
465
文章
2927
回复
4
学术分
36.4
科创币
2009/05/30注册,1 年前活动
如果需要找exe的基地址,通过(w)WinMain函数的参数,或者通过GetModuleHandle(NULL)。如果需要当前dll的基地址,通过DllMain函数的参数。除此以外,还有一种方法,可以通过链接__ImageBase符号来获得基地址。

从Windows XP SP2开始,微软提供了一套API叫做WinUSB,从winusb.dll导入。参考资料https://msdn.microsoft.com/zh-cn/library/windows/hardware/ff540046(v=vs.85).aspxhttp://usb.baiheee.com/usb_article/usb_driver_app/winusb_intro.ht...

之所以说是常规加速版,是因为DX11还有GPGPU计算加速功能Compute Shader,也就是所谓的DirectCompute,但是这里我们只用到了常规的图形流水线加速功能。 最低配置被设置为D3D_FEATURE_LEVEL_9_3和"ps_4_0_level_9_3"。如果将循环次数改多一点,由于"ps_4_0_level_9_3"不包含条件循环指令,循环操作实际上被展开了,指令数量很容易...


用EnumDeviceDrivers加上GetDeviceDriverBaseName函数(从psapi.dll导入)可以获得所有内核模块的基地址(64位系统要编译为64位程序才能获得正确的结果)和对应的模块名,但是因为windows是保护模式,所以即使获得了也访问不了。但是这只是虚拟地址,不是物理地址,因为windows开启了内存分页机制。关于windows的内存管理机制,具体的可以看《Wind...

在Windows API中只开放了两个允许区分大小写的API:CreateFile,使用FILE_FLAG_POSIX_SEMANTICS开关;FindFirstFileEx,使用FIND_FIRST_EX_CASE_SENSITIVE开关。不过我们可以通过SetFileInformationByHandle来实现文件/文件夹的改名和删除。此外,在Native API中InitializeObje...

win10 1703 + chrome 60 + 纯文本 可以显示彩色emojiwin7 sp1 + chrome 60 + 纯文本 只能显示黑白emojicode里边的内容也被替换了,不过有alt属性,复制到记事本中还是能还原到正确的文本的

《2017/09/13更新》当前现存Windows 10版本的生命周期政策现存的桌面SAC版本:Windows 10 (Version 1507) Build 10240 支持到 2017/05/09Windows 10 Version 1511 Build 10586 支持到 2017/10/10Windows 10 Version 1607 Build 14393 支持到 暂定2018/03 ...

《x86/x64体系探索及编程》《处理器虚拟化技术》作者邓志的个人网站http://www.mouseos.com

引用 刘建业:IE版本不行不可以升级么。。VS2013比12还是有很大的不同的。13应该是起码的吧。那我还可以说15是起码的,因为有些第三方包都是15起了。还可以说是17起码,因为winsdk新版都是17起了,更不用说17很多新功能大大提升了编程舒适度。喜欢13的多主要是因为13和win8.1统治了更长的时间,就和很多人怀念win8.1时代一样。但是这和当年喜欢vc6有什么区别。要是说怀念啥的话,...

不违背语言逻辑的做法都是可行的。。。 像是这种情况,就不能用goto。 微软那个可以用goto是因为变量声明和初始化都写在函数开头附近,不存在被跳过的问题。 一般来说,如果你习惯于C89风格的那种变量声明全部写在开头的做法,完全可以随意使用goto。但是如果你习惯于ISO C++风格的那种变量声明写在程序中间的做法,就应该考虑一下其它写法。比如你如果觉得do-while(0)-break太拽,完...

又找到了一些比较老的版本。286,287,386,387程序员指南(英文,txt版本,需要用dos的edit查看,代码页未知):286和287程序员指南(英文):386程序员指南(英文):

使用C语言让Windows睡眠/休眠可以使用SetSystemPowerState函数,但是这个函数需要进程具有SE_SHUTDOWN_NAME(或者_T("SeShutdownPrivilege"))权限,这个权限默认是关闭的,需要手动打开。 另一个方法是使用SetSuspendState,它不用调整权限,但是需要导入powrprof.h和powrprof.lib。

2006版,来自网络,包含以下几卷:第一卷:基础架构第二卷:指令集参考(A-M/N-Z)第三卷:系统编程指南(Part1/2)附卷:优化参考注意2006版已经包括了32位和64位架构,只不过64位架构被称为IA-32e。2001版,来自网络,包含以下几卷:第一卷:基础架构第二卷:指令集参考第三卷:系统编程指南注意2001版只更新到了奔腾4,也就是最高只有32位架构,并且扩展指令集只到SSE2.0。...

exe基地址乱跑,是因为在比较新的Visual Studio中,link添加了/dynamicbase参数,这个参数是用来声明程序在Windows Vista以后的系统中兼容地址空间布局随机化(ASLR)安全特性的。另外还有一个参数是/fixed,这个参数是删除.reloc节用的。由于exe载入较早,只有启用/dynamicbase时,或者在非常古老的win32s平台运行时,才需要exe有.rel...

使用嵌套的if块会嵌套过深以至于难以整理 使用平行的if块对C++/C99变量初始化不友好,【C++/C99变量初始化也是有效代码】,放if块里边限制生存期,放if块外面不受if块控制 使用【if (失败) goto 清理;】不美观,C++/C99变量初始化会有被跳过的警告 所以还是使用do-while(0)-break比较好

每半年发布一个短期支持版本(SAC,半年通道),支持18个月。每2-3年发布一个长期支持版本(LTSC,长期支持通道),支持10年。下一个长期支持版本预计2019年发布。以前的CB、CBB、LTSB计划被替代。另外,Windows Server也将不再有2016R2,而是一直发布SAC版本1709-1803-1809等。直到Win10下一个LTSC版本发布发布,再同步发布对应的LTSC版本。参考资...

在所有现代Windows操作系统中,系统的环境变量保存在这两个注册表键中的注册表值:系统级:HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Control\\Session Manager\\Environment用户级:HKEY_CURRENT_USER\\Environment添加、修改注册表值,最方便的方法是使用RegSetKeyValue。删除...


许多书上都写了,应该始终使用_beginthreadex和_endthreadex,永远不要使用CreateThread和ExitThread,因为后者不会正常分配和释放C运行库的tiddata。但是,这是不准确的。实际上,微软考虑到一些开发者喜欢用CreateThread和ExitThread,而不愿意用_beginthreadex和_endthreadex,并且喜欢把设计的禁区说成是系统的bu...

时间在流逝,世界在变化。对于编程工具的使用,激进派当然好选择了,尽量用最新的(比如vs2017),这样即使稍有过时也不会立刻落伍。但是如果你是保守派,正在坚守一个你认为刚刚好,不会过新也不会过旧的工具,学会了可以立刻致大用,就要当心你所坚守的工具,在坚守了几年之后,可能落伍了。就说一下C/C++的事情。Win98时代,最流行的是turboc2.0。WinXP时代,再用turboc2.0已经令人抓狂...

测试。。。。。。

.NET Framework 4.7.1 预览版 Build 2538已经发布,正式版可能将与Windows 10秋季创意者更新一同发布。 blog文章:https://blogs.msdn.microsoft.com/dotnet/2017/08/07/welcome-to-the-net-framework-4-7-1-early-access/ github地址:https://github...

引用 小俊:这个测试还不算完整,只能证明没有vectorization的情况下,double和float的throughput是一样的,但不能证明它们的latency也是一样。这里不做准确的的延迟测试,只是为了表明float向量化之后的吞吐量增加到4倍,而double只增加到2倍,因此float更有利于大吞吐量但精度要求不高的运算。float和double在没有向量化之前速度相同,不是要证明的重点...

引用 云中子3529:……为何不用gcc……毕竟gcc开源而且好用gcc开源,但不是最好用的,最好用的编译器是clang但是它们都是面向类UNIX系统的,在Windows系统都不好用,原生的VC功能更强大更好用

本来打算用Shader Model 2.0,但是经过测试,Shader Model 2.0的功能太原始,连for循环都无法支持,最后只能改用Shader Model 3.0。由于使用了HLSL编译Shader Model 3.0,所以需要VS2002-2010和DirectX 9.0c SDK 2004-2010, 不能使用VC6和DirectX 9.0b SDK。 DX是DirectX的缩写,S...

Mandelbrot集合的定义是:设Z0=0+0i,C=复平面上的点,根据Zn=Z(n-1)^2+C递推出后面的Zn,若|Zn|<2,则属于该集合。 Julia集合的定义是:设Z0=复平面上的点,C=a+bi,根据Zn=Z(n-1)^2+C递推出后面的Zn,若|Zn|<2,则属于该集合。

引用 amo:软件解压即可运行,就没那么多烦恼了……商业软件把安装过程、卸载过程搞得那么炫目,并且在系统盘几十个文件夹里都放置它的各种文件夹、文件,是不是一种过度包装行为,目的是为了让用户感受其专业性而买单?要考虑到很多系统只有C盘一个盘,你解压到哪里呢?这就是我说的这个问题了。第二个问题,Windows爱好者确实最喜欢绿色软件,这主要是因为Windows是个丰富的标准环境,什么都不装就可以具有强...

引用 amo:为什么不在启动的时候获取程序所在目录,然后所有东西都放到自己目录底下,无需依赖系统,不更改系统,绿色环保是否可以将数据保存在程序所在目录,要看情况程序被装到Program Files,一般是没有修改权限的程序被装到%APPDATA%或%LOCALAPPDATA%,可能用户名有特殊字符,Python2.7这种程序容易报错程序被装到%PROGRAMDATA%或%ALLUSERSPROFI...

对于一般的程序,按照下面的方法存储可变数据就行了: Unicode程序(类似Chrome): 对于新系统,放到%[LOCAL]APPDATA%\OrgName\AppName 对于老系统,放到%APPDATA%\OrgName\AppName 非Unicode程序(类似Python 2.7): 如果要求整个树Authenticated Users允许修改(最简单实用): 放到%SYST...

引用 20!不曾存在:上线好久了。火星了
{{forum.displayName}}
{{forum.countThreads}}
篇文章,
{{forum.countPosts}}
条回复
{{forum.description || "暂无简介"}}
ID: {{user.uid}}
{{submitted?"":"投诉"}}
请选择违规类型:
{{reason.description}}