想共同维护一个NSIS脚本文件的,不想搞两个版本的脚本文件了.开始想到了!if语句,没试过,不知道行不行得通.后来google了一下.可以用两个头文件搞定.参照下面链接 Reference: http://stackoverflow.com/questions/11126629/use-one-nsis-installer-to-install-32-bit-binaries-on-32-bit-os-and-64-bit-binari http://stackoverflow.com/ques…
http://tieba.baidu.com/p/1250470248 x64与x86的改变 硬件要求就是64位的CPU.操作系统也必须是64位的,如果在64位的CPU上安装了32位的操作系统,就算编译成功也无法运行程序. 寄存器的改变汇编是直接与寄存器打交道的语言,因此硬件对语言影响很大.先来看看x64与x32相比在硬件上多了什么,变了什么. X64多了8个通用寄存器:R8.R9.R10.R11.R12.R13.R14.R15,当然,它们都是64位的.另外还增加了8个128位XMM寄存器,不过…
对于一个DLL,我们如何判定其是32位的还是64位的,或者是any cpu的platform? Visual Studio提供了一个很好的工具:corflags,这个是内嵌到Developer Command Prompt中的.使用方法如下,打开Developer Command Prompt,输入corflags命令,并且输入dll的详细路径,比如corflags C:\Temp\Oracle.DataAccess.dll,就能看到如下截图所示的结果. 这个结果是什么意思?其实,我们不需要弄清…
前言 标题不知道怎么确切地命名,在.net的托管世界里,有时不得不使用c的某个动态库,比如ocr.opencv等,如果幸运,有前人已经包装出.net版本,但有些不非常流行的库,只能自己使用pinvoke或c++ cli包装了,比如笔者就遇到了一个,mqtt客户端库. Pinvoke的多平台问题 如果您没有接触过如何调用非托管dll,没有了解过c#的DllImportAttribute,可以看看以下资料: 1.DllImportAttribute 2.Pinvoke 3.extern 关键字 多平…
前言 上一节内容我们对在32位操作系统下堆栈帧进行了详细的分析,本节我们继续来看看在64位操作系统下对于过程调用在处理机制上是否会有所不同呢? 堆栈帧 我们给出如下示例代码方便对照汇编代码看,和上一节有所不同的是函数调用多了几个参数. #include <stdio.h> int main() { ,b = , c = , d = , e = ,f = , g = ,h = ; int func(int a, int b,int c,int d,int e,int f ,int g,int h…
我们通过System.Environment.OSVersion.Version获得操作系统的版本号,然后再根据版本号进行判断操作系统是什么版本 Version 类的属性 Operating system Version number dwMajorVersion dwMinorVersion Windows 10 10.0 10 0 Windows 8.1 6.3 6 3 Windows 8 6.2 6 2 Windows 7 6.1 6 1 Windows Server 2008 6.0 6…
Just read two good articles on this topic: http://stackoverflow.com/questions/480696/how-to-find-if-a-native-dll-file-is-compiled-as-x64-or-x86/ http://stackoverflow.com/questions/1001404/check-if-unmanaged-dll-is-32-bit-or-64-bit To recap: For nativ…
初次使用SQLite遇到了莫名其妙的问题: 未能加载文件或程序集“System.Data.SQLite, Version=1.0.92.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139”或它的某一个依赖项.试图加载格式不正确的程序. 编译是通过的,一运行就报这个错. 我是从官网下载的dll,sqlite-netFx40-static-binary-bundle-x64-2010-1.0.92.0.(当前OS: windows 7 sp1) 后…
Notepad++ 7.3.2 Download 32-bit x86 Notepad++ Installer 32-bit x86: Take this one if you have no idea which one you should take. Notepad++ zip package 32-bit x86: Don't want to use installer? Check this one (zip format). Notepad++ 7z package 32-bit x…
今天遇到一个奇怪的问题.我用Qt的64位版本号,动态载入一个SDK的dll,不管怎样都是载入失败.QLibrary也没什么有价值的信息. 实在没辙,就用VS2013写了个小程序,用LoadLibrary来载入,嘿.碰见了RC1106错误.挡了我1个小时.最后看这里(http://blog.csdn.net/zhongchengli/article/details/6152492)解决掉了这个错误. 然后,调用DLL竟然成了. 于是我把Qt Creator里的项目导入到VS 2013中,心想可能会…