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

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

之所以说是常规加速版,是因为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的内存管理机制,具体的可以看《Win...

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

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

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

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

那我还可以说15是起码的,因为有些第三方包都是15起了。还可以说是17起码,因为winsdk新版都是17起了,更不用说17很多新功能大大提升了编程舒适度。 喜欢13的多主要是因为13和win8.1统治了更长的时间,就和很多人怀念win8.1时代一样。但是这和当年喜欢vc6有什么区别。要是说怀念啥的话,我个人更怀念win8。 ie10/11个人比较在意的问题,除了ie本身的版本间兼容性以外,还有它会...

不违背语言逻辑的做法都是可行的。。。 像是这种情况,就不能用goto。 ```cpp #include #include #include #include using namespace std; int _tmain(int argc, TCHAR **argv) { if (argc >= 1) goto b; int i = 1; // warning & assert f...

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

使用C语言让Windows睡眠/休眠可以使用SetSystemPowerState函数,但是这个函数需要进程具有SE_SHUTDOWN_NAME(或者_T("SeShutdownPrivilege"))权限,这个权限默认是关闭的,需要手动打开。 ```c #include #include int _tmain(int argc, TCHAR **argv) { HANDLE token...

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

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

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

每半年发布一个短期支持版本(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...

#{r=277721} #{r=277722} #{r=277723} #{r=277724}

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

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

测试。。。。。。

.NET Framework 4.7.1 预览版 Build 2538已经发布,正式版可能将与Windows 10秋季创意者更新一同发布。 blog文章: github地址: 不建议在日常环境和编程中安装使用这个版本,仅作为测试之用,建议等待正式版发布再升级。 支持以下系统: * Windows 7 SP1 x86 / x64 & Windows Server 2008 R2 SP1 x...

这里不做准确的的延迟测试,只是为了表明float向量化之后的吞吐量增加到4倍,而double只增加到2倍,因此float更有利于大吞吐量但精度要求不高的运算。float和double在没有向量化之前速度相同,不是要证明的重点,只是对现象的粗略的表述。

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的缩写,...

Mandelbrot集合的定义是:设Z0=0+0i,C=复平面上的点,根据Zn=Z(n-1)^2+C递推出后面的Zn,若|Zn| #include #include HINSTANCE hInst; HWND hMainWnd; LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); void PaintMandelbrot(HWND, ...

要考虑到很多系统只有C盘一个盘,你解压到哪里呢?这就是我说的这个问题了。 第二个问题, Windows爱好者确实最喜欢绿色软件,这主要是因为Windows是个丰富的标准环境,什么都不装就可以具有强大的功能。Windows发展过程中,会将一些常用的redist dll集成为known dll,也会增加一些non-redist的known dll,使得系统功能越来越强大,而这些dll出于兼容性的考虑...

是否可以将数据保存在程序所在目录,要看情况 程序被装到Program Files,一般是没有修改权限的 程序被装到%APPDATA%或%LOCALAPPDATA%,可能用户名有特殊字符,Python2.7这种程序容易报错 程序被装到%PROGRAMDATA%或%ALLUSERSPROFILE%,则只有创建的用户才有修改权限,其它人只能创建新项目 程序被装到%SYSTEMDRIVE%根目录,所有非G...

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

火星了
ID:{{user.uid}}
{{user.username}}
{{user.info.certsName}}
{{user.description}}
{{format("YYYY/MM/DD", user.toc)}}注册,{{fromNow(user.tlv)}}活动
{{submitted?"":"投诉"}}
请选择违规类型:
{{reason.description}}