我似乎完全无法将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支持团队似乎不再存在.
我该如何解决这个问题?
在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.dll
的CreateFile()
,并随后得到扩大呢?...
SDK和WDK似乎都没有特别讨论这个话题.还是我看错了?
我使用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错误吗?
当对使用库链接-l
选项(比方说-lfoo
),GCC会喜欢一个共享对象静态库,如果两者都发现了(会喜欢libfoo.so
到libfoo.a
).有没有办法让gcc更喜欢静态库,如果两者都找到了?
我正在尝试解决的问题如下:我正在为应用程序(飞行模拟器称为X-Plane)创建一个插件,具有以下约束:
/usr/lib
或/usr/lib32
:
LD_PRELOAD
或LD_LIBRARY_PATH
查找我的插件附带的共享对象为了解决上述约束,一种可能的解决方案是将生成的共享对象链接到所使用的所有非平凡库的静态32位版本.但是,在安装这些库时,通常会安装静态和动态版本,因此gcc将始终链接到共享对象而不是静态库.
当然,移动/删除/删除有问题的共享对象,只是将静态库放在中/usr/lib32
,这是一种解决方法,但它不是一个好的
注意:
-Wl,-static -lfoo -Wl,-Bdynamic,
但没有带来预期的结果-l:libfoo.a
过,但这也没有带来预期的结果如何正确检查进程是否以管理权限运行?
我IsUserAnAdim
在MSDN中检查了该功能,但不推荐使用它,因为它可能在后续版本的Windows中被更改或不可用.相反,建议使用该CheckTokenMembership
功能.
然后我从CheckTokenMembership
功能描述中查看了MSDN中的替代示例.但是,Stefan Ozminski在MSDN中的评论提到,如果禁用UAC,此示例在Windows Vista中无法正常工作.
最后,我尝试使用来自MSDN的Stefan Ozminski的代码,但它确定该进程具有管理权限,即使我在没有Windows 7管理权限的普通用户下启动它也是如此.
启动Visual Studio 2012作为非特权用户时出现以下错误:
尝试访问日志文件时发生错误.记录可能无法正常运行.
一个随意的网络搜索显示,这个问题曾经存在于2006年的VMware 6测试版中.我还发现另一个用户在最近的VS版本(2008)中体验过相同的版本,并且它最近才启动.
消息框的标题表示这来自VMware.我安装了VMware 9 Workstation.该问题可能与系统更新或更新2012.2 CTP有关,并且未与最终的2012.2更新包一起使用.
如何在不实际禁用VMDebugger加载项的情况下摆脱错误?
有一种解决方法,VMDebugger
在"加载项管理器"中禁用.但是,即使没有特权的用户也无法成功禁用它.我必须以管理员身份启动VS(我正在使用SuRun)来禁用它,并且在下次启动IDE时错误不再出现.
我在一个 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?
WideCharToMultiByte()和wcstombs()有什么区别何时使用哪一个?
我发现这个网站: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如何启动的文档?
谢谢!
有没有什么办法让printf
一个size_t
没有任何第一投射,或产生编译器警告?(我总是编译-Wall
.)