Tag: visual c ++

C ++中的固定宽度整数

偶尔我需要使用固定宽度的整数与PLC等外部设备进行通信。 我还使用它们来定义位掩码并执行图像数据的位操作。 AFAIK C99标准定义了固定宽度的整数,如int16_t。 但是我使用的编译器,VC ++ 2008不支持C99和AFAIK微软不打算支持它。 我的问题是在C ++中使用固定宽度整数的最佳实践是什么? 我知道VC ++定义了非标准的固定宽度整数,如__int16,但我对使用非标准类型犹豫不决。 下一个C ++标准是否会定义固定宽度的整数?

__attribute __((格式(printf,1,2)))对于MSVC?

使用GCC,我可以指定__attribute__((format(printf, 1, 2))) ,告诉编译器该函数采用printf格式说明符的vararg参数。 这在我包装例如vsprintf函数系列的情况下非常有用。 我可以有extern void log_error(const char *format, …) __attribute__((format(printf, 1, 2))); 每当我调用这个函数时,gcc将检查参数的类型和数量是否与printf一样符合给定的格式说明符,如果没有则发出警告。 Microsoft C / C ++编译器是否有类似的东西?

如何在我的C ++源代码中查找(并替换)所有旧的C风格数据类型转换?

如何在我的源代码中找到所有旧的C风格演员? 我正在使用Visual Studio,可能有一些编译器警告,我必须启用?

如何将两个windows vc静态库合并为一个

我有一个两个静态库a.lib和b.lib (C语言),它是使用VC6(Visual Studio 6.0)生成的。 我想将这两个lib合并到一个静态lib c.lib 。 如何在CLI模式下执行此操作? 我已经看到了* nix静态库的合并 。 我想在CLI模式下使用VC6静态库做同样的事情。

Contours opencv:如何消除二进制图像中的小轮廓

我目前正在从事图像处理项目。 我在VC ++中使用Opencv2.3.1。 我编写了这样的代码,输入图像被过滤为仅蓝色并转换为二进制图像。 二进制图像有一些我不想要的小物体。 我想消除那些小对象,所以我使用openCV的cvFindContours()方法来检测二进制图像中的轮廓。 但问题是我无法消除图像输出中的小物体。 我使用了cvContourArea()函数,但没有正常工作..,侵蚀function也无法正常工作。 所以请有人帮我解决这个问题.. 我获得的二进制图像 : 我想要获得的结果/输出图像 :

在一个进程中混合和匹配Visual C ++运行时DLL文件有多糟糕?

我有一个使用Visual Studio 2012构建的应用程序,因此它依赖于MSVCP110.DLL和MSVCR110.DLL 。 我正在使用另一个DLL文件,它似乎是使用Visual Studio 2010构建的,并且依赖于MSVCP100.DLL和MSVCR100.DLL 。 我有另一个DLL是用Visual Studio 2008构建的,依赖于MSVCR90.DLL 。 这是坏事吗? 真的很糟糕吗? 我应该担心吗? 我问的原因是运行时堆分配器抱怨堆损坏。 这可能与混合运行时版本有关吗?

为什么Ctrl-Z不会触发EOF?

为什么Ctrl + Z不会触发循环来完成以下小程序? #include main() { int c; while ((c = getchar()) != EOF) { //nothing } return 0; } 如果我输入: test^ZEnter ,它不会退出循环。 我发现了相关的问题( 这里和这里 ),但没有解释它在Windows下的C(不是C ++)。 注意 :我在Windows 8.1上使用Visual Studio 2015 PRE

编译对象的布局

有没有办法 – 就像用gcc -E查看预处理的结果一样,看看我的对象在编译成目标文件后会是什么样子? 我说的是GCC,但包括MSVC在内的解决方案没问题。

关于在C中除以零的一些事情

可能重复: 值返回1.#INF000 我一直认为除以0会导致编译程序崩溃 但是我今天发现(使用VC ++ 2010 Express),除以0得到的东西叫做1.#INF000,它应该是正无穷大 当它传递给函数时,它被传递为-1。#IND000 这是怎么回事? 在Google上搜索1.#INF000和-1。#IND000也没有提供任何明确的解释 它只是VC ++特有的东西吗?

如何使用gettimeofday()或与Visual Studio C ++ 2008等效的东西?

有人可以帮我在Windows XP上使用Visual Studio C ++ 2008的gettimeofday()函数吗? 这是我在网上找到的代码: #include #include #if defined(_MSC_VER) || defined(_MSC_EXTENSIONS) #define DELTA_EPOCH_IN_MICROSECS 11644473600000000Ui64 #else #define DELTA_EPOCH_IN_MICROSECS 11644473600000000ULL #endif struct timezone { int tz_minuteswest; /* minutes W of Greenwich */ int tz_dsttime; /* type of dst correction */ }; int gettimeofday(struct timeval *tv, struct timezone *tz) { FILETIME ft; unsigned __int64 tmpres = […]