小编0xC*_*22L的帖子

Windows 7 SDK安装失败

我似乎完全无法将Windows 7 SDK安装到我的机器上,我在网上找到的唯一解决方案是进行大量的注册表更改.我做到了这一点 - 仍然没有成功.

这是报告的错误:

安装选定的Windows SDK组件时出现问题.

安装"Microsoft Windows SDK for Windows 7"产品时报告了以下错误:有关详细信息,请参阅Samples\Setup\HTML\ConfigDetails.htm文档.

请尝试解决该问题,然后再次启动Windows SDK安装程序.如果您仍然遇到此问题,请访问SDK团队支持页面,网址http://go.microsoft.com/fwlink/?LinkId=130245.

单击"查看日志"按钮以查看安装日志.

要退出,请单击"完成".

也没有Samples可以引用的目录,SDK支持团队似乎不再存在.

我该如何解决这个问题?

winapi failed-installation

372
推荐指数
6
解决办法
14万
查看次数

当文件路径超过大约时,内部会发生什么.Windows中32767个字符?

在Windows(假设2000以后)中,文件路径的长度最多约为32767个字符.由于UNICODE_STRING本机API(也在内核端,驱动程序等)中的内部处理,存在此限制.到现在为止还挺好.我知道那部分背后的理论.

限制的原因是Length和count的MaximumLength成员UNICODE_STRING计数中的字节数Buffer,但是16位无符号整数本身.

我也知道为什么限制是近似而不是设定限制.这主要是由于您的文件名(例如\\.\C:\boot.ini)如何被解析为其本机形式(例如\??\C:\boot.ini),然后是以实际卷设备名称为前缀然后跟随相对于该卷的路径的东西,例如\Device\HarddiskVolume2\boot.ini.

此外,从Windows资源管理器中,达到("ANSI")MAX_PATH限制时的已知症状是假装某些版本的Windows中不存在文件或文件夹(可能在某些时候已修复).

但是,在对象管理器,I/O管理器和文件系统驱动程序级别分别发生时,我打电话CreateFile()与看起来像一个路径\\.\C:\...\filename.ext和整个路径并没有超过限制,但达到它,我呼吁kernel32.dllCreateFile(),并随后得到扩大呢?...

SDK和WDK似乎都没有特别讨论这个话题.还是我看错了?

windows winapi internals

32
推荐指数
1
解决办法
1621
查看次数

使用不同版本的python和virtualenvwrapper

我使用Macports在我的Mac上安装了各种版本的python.当我选择python 2.7 via时$ port select python python27,virtualenvwrapper工作得很好.

但是如果我选择另一个版本的python,即2.6,virtualenvwrapper会生成一条错误消息:ImportError:没有名为virtualenvwrapper.hook_loader的模块

我检查了我的.profile并且设置VIRTUALENVWRAPPER_PYTHON/opt/local/bin/python,所以在我看来virtualenvwrapper应该工作,无论我选择了哪个python.

知道什么会导致virtualenvwrapper在切换python版本时生成.hook_loader错误吗?

python virtualenvwrapper

31
推荐指数
4
解决办法
5万
查看次数

在链接时使gcc更喜欢静态库到共享对象?

当对使用库链接-l选项(比方说-lfoo),GCC会喜欢一个共享对象静态库,如果两者都发现了(会喜欢libfoo.solibfoo.a).有没有办法让gcc更喜欢静态库,如果两者都找到了?

我正在尝试解决的问题如下:我正在为应用程序(飞行模拟器称为X-Plane)创建一个插件,具有以下约束:

  • 即使在64位系统上运行,插件也应采用32位共享对象的形式
  • 行驶环境不提供一种方便的方式来加载共享对象,其并不在"正常"位置,说/usr/lib/usr/lib32:
    • 人们不能指望用户设置LD_PRELOADLD_LIBRARY_PATH查找我的插件附带的共享对象
    • 在动态加载插件共享对象之前,X-Plane运行环境不会将我的插件目录添加到``LD_LIBRARY_PATH,这将允许我将所有必需的共享对象与我的插件共享对象一起发送
  • 我不能指望64位用户安装非平凡的32位共享对象(比如说,不包含在ubuntu上的ia32-libs包中)

为了解决上述约束,一种可能的解决方案是将生成的共享对象链接到所使用的所有非平凡库的静态32位版本.但是,在安装这些库时,通常会安装静态和动态版本,因此gcc将始终链接到共享对象而不是静态库.

当然,移动/删除/删除有问题的共享对象,只是将静态库放在中/usr/lib32,这是一种解决方法,但它不是一个好的

注意:

  • 是的,我确实阅读了如何链接共享对象和库,我并没有尝试创建一个"完全静态链接的共享对象"
  • 是的,我试过-Wl,-static -lfoo -Wl,-Bdynamic,但没有带来预期的结果
  • 是的,我也尝试-l:libfoo.a过,但这也没有带来预期的结果

linux gcc shared-libraries static-linking

22
推荐指数
2
解决办法
8729
查看次数

如何检查进程是否具有管理权限

如何正确检查进程是否以管理权限运行?

IsUserAnAdim在MSDN中检查了该功能,但不推荐使用它,因为它可能在后续版本的Windows中被更改或不可用.相反,建议使用该CheckTokenMembership功能.

然后我从CheckTokenMembership功能描述中查看了MSDN中的替代示例.但是,Stefan Ozminski在MSDN中的评论提到,如果禁用UAC,此示例在Windows Vista中无法正常工作.

最后,我尝试使用来自MSDN的Stefan Ozminski的代码,但它确定该进程具有管理权限,即使我在没有Windows 7管理权限的普通用户下启动它也是如此.

c++ winapi

21
推荐指数
1
解决办法
2万
查看次数

如何在启动Visual Studio 2012时摆脱VMware错误,但不禁用VMDebugger加载项?

启动Visual Studio 2012作为非特权用户时出现以下错误:

尝试访问日志文件时发生错误.记录可能无法正常运行.

一个随意的网络搜索显示,这个问题曾经存在于2006年的VMware 6测试版中.我还发现另一个用户在最近的VS版本(2008)中体验过相同的版本,并且它最近才启动.

消息框的标题表示这来自VMware.我安装了VMware 9 Workstation.该问题可能与系统更新或更新2012.2 CTP有关,并且未与最终的2012.2更新包一起使用.

问题:

如何在不实际禁用VMDebugger加载项的情况下摆脱错误?

临时解决方法:

有一种解决方法,VMDebugger在"加载项管理器"中禁用.但是,即使没有特权的用户也无法成功禁用它.我必须以管理员身份启动VS(我正在使用SuRun)来禁用它,并且在下次启动IDE时错误不再出现.

add-in vmware-workstation visual-studio-2012

21
推荐指数
1
解决办法
7432
查看次数

为什么 std::atomic 构造函数在 C++14 和 C++17 中的行为不同

我在一个 C++11 项目中工作,我尝试了以下代码

#include <atomic>

struct A {
    std::atomic_int idx = 1;

};

int main() {
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我收到编译器错误

error: use of deleted function 'std::__atomic_base<_IntTp>::__atomic_base(const std::__atomic_base<_IntTp>&) [with _ITp = int]'
 std::atomic_int idx = 1;
                       ^
Run Code Online (Sandbox Code Playgroud)

C++14 也有同样的结果。当我切换到 C++17 时它可以工作:wandbox

我检查了 cppreference 的差异:

但是 C++14 和 C++17 之间没有区别。为什么它适用于 C++17 而不适用于 C++14?

c++ stdatomic c++14 c++17

18
推荐指数
1
解决办法
1108
查看次数

WideCharToMultiByte()与wcstombs()

WideCharToMultiByte()和wcstombs()有什么区别何时使用哪一个?

c++ unicode winapi wchar widechar

16
推荐指数
2
解决办法
2万
查看次数

有没有关于Minix 3.2(最新)如何启动的文档?

我发现这个网站:http://www.os-forum.com/minix/boot/ 声称记录了Minix的启动顺序.

但是在Minix 3.2的源代码树中我只是从Git获得,上面网站中描述的文件根本不存在.

他们是:

masterboot.s
bootblock.s
boothead.s
boot.c
bootimage.c
rawfs.c
Run Code Online (Sandbox Code Playgroud)

Minix会改变它的启动方式吗?

有没有关于Minix如何启动的文档?

谢谢!

minix bootloader

16
推荐指数
1
解决办法
2488
查看次数

printf for size_t

有没有什么办法让printf一个size_t没有任何第一投射,或产生编译器警告?(我总是编译-Wall.)

printf gcc size-t string-formatting

15
推荐指数
1
解决办法
3305
查看次数