小编Bjo*_*ern的帖子

如何使用常规Windows C/C++ API查询进程的线程数

有没有办法使用标准的Windows C/C++ API查询当前为特定进程运行的线程数?

我已经在MSDN文档中徘徊,但唯一接近的是

BOOL WINAPI GetProcessHandleCount(
  __in     HANDLE hProcess,
  __inout  PDWORD pdwHandleCount
);
Run Code Online (Sandbox Code Playgroud)

查询给定进程当前正在使用的系统句柄的数量,其中包括线程句柄,但不限于它们.

任何见解将不胜感激.

提前致谢.

比约恩

c c++ winapi

8
推荐指数
2
解决办法
8677
查看次数

Visual Studio 2005 - "更新IntelliSense"挂断

我有一段时间没有使用我的Visual Studio 2005 IntelliSense.

它曾经工作得很好,但出于某种原因,"更新智能感知......"似乎不再能够完成我当前正在研究的解决方案 - 它只是在大约3条进度的某个地方被卡住了阻止我宝贵的CPU之一永恒.

删除我的解决方案的.ncb文件并在之后执行完整的"清理"没有任何帮助."更新"再次陷入困境.

我正在开发的项目是一个相当大的C++解决方案,包含50多个项目,相当多的模板类(甚至更近),而且通常非常复杂.我不知道这可能会对IntelliSense产生什么影响.

已安装(我们对此问题存在很大问题,因此我们尚未迁移).

任何答案都非常感谢这一点.给我毛骨悚然..

干杯,
\ Bjoern

intellisense visual-studio-2005 visual-studio

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

何时在复杂表达式中评估后缀增量运算符?

说我有这样的表达

short v = ( ( p[ i++ ] & 0xFF ) << 4 | ( p[ i ] & 0xF0000000 ) >> 28;
Run Code Online (Sandbox Code Playgroud)

p作为一个指针的32位整数的动态分配的数组.

究竟i递增?我注意到上面的代码提供了v与以下代码不同的值:

short v = ( p[ i++ ] & 0xFF) <<   4;
v |= ( p[ i ] & 0xF0000000 ) >>  28;
Run Code Online (Sandbox Code Playgroud)

我对这种行为的最佳猜测是,i|评估上面的右侧之前不会增加.

任何见解将不胜感激!

提前致谢,

\比约恩

c c++ operators

6
推荐指数
3
解决办法
2302
查看次数

如何使用预处理器识别Linux上的64位版本?

我即将将Windows 32位应用程序移植到64位,但可能决定稍后将整个程序移植到Linux.

代码包含的部分取决于应用程序可用的内存量(这取决于我是否正在创建32位或64位版本),而编译32位版本的代码的能力应该保留为后向兼容性.

在Windows上,我可以简单地将相应的代码段包装到预处理器语句中,以确保编译正确的代码版本.

不幸的是,我在Linux平台上编程的经验很少,所以问题出现了:

我如何在Linux平台上识别64位版本?

是否有任何(最好是非编译器特定的)预处理器定义我可以检查这个?

提前致谢!

\比约恩

c linux 64-bit build

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