小编Dan*_*ien的帖子

如何使用C#的MS DIA SDK?

我正在尝试使用C#的Microsoft Debug Interface Access SDK.这是随Visual Studio一起安装的,但是文档似乎没有提到你如何在C#中使用它.

我在interweb上找到了示例代码,但没有关于如何链接到DIA SDK的信息.即我无法将其作为装配导入.我不认为我必须将它包含在托管C++应用程序中并将其用作COM(这将是地狱).

有一个IDL文件,这是正确的方法吗?如果是这样,怎么样?


编辑:以下将创建类型库以用作引用的程序集.粘贴到批处理文件中.

call "%VS80COMNTOOLS%\vsvars32.bat"
midl /I "%VSINSTALLDIR%\DIA SDK\include" "%VSINSTALLDIR%\DIA SDK\idl\dia2.idl" /tlb dia2.tlb
tlbimp dia2.tlb
Run Code Online (Sandbox Code Playgroud)

.net c# debugging dia-sdk

8
推荐指数
1
解决办法
4651
查看次数

char对象比较的语义

当我今天阅读一些旧代码时,我注意到以下assert行:

assert(('0' <= hexChar && hexChar <= '9')
    || ('A' <= hexChar && hexChar <= 'F')
    || ('a' <= hexChar && hexChar <= 'f'));
Run Code Online (Sandbox Code Playgroud)

目的是断言这hexChar是一个十六进制数字([0-9A-Fa-f]).这是通过依靠一个ASCII样订货char表示对象'A','B'...,'F''a','b'..., 'f'.

考虑到执行字符集是实现定义的,我开始想知道这是否总是按照我的意图行事.

第2.3节中的C++标准,字符集,提及:

基本执行字符集基本执行宽字符集应各自包含的基本来源字符集表示警报,退格,并回车所有成员,再加上控制字符,再加上一个空字符(分别为空宽字符),其表示具有全零位.对于每个基本执行字符集,成员的值应是非负的并且彼此不同.在源和执行基本字符集中,上述十进制数字列表中0之后的每个字符的值应比前一个值大1.在执行字符集执行宽字符集是设置基本执行字符和基本执行宽字符集的实现所定义的超集,分别.执行字符集的成员值和其他成员集是特定于语言环境的.

我认为这意味着('0' <= hexChar && hexChar <= '9')没关系,因为'0','1'...,'9'是数字,每个都有一个大于前一个的值.但是,其他基本源字符相对于彼此的顺序仍然是实现定义的.

这是正确的陈述吗?对C++编译器一无所知(所以不知道实现细节),我是否需要重写assert如下?

assert(('0' <= hexChar && …
Run Code Online (Sandbox Code Playgroud)

c++ char character-encoding

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

Windows上的本机窄字符串编码是什么?

Subversion API具有许多功能,用于将"本机编码"字符串转换为以UTF-8编码的字符串.我的问题是:Windows上的本机编码是什么?它取决于区域设置吗?

c c++ string winapi character-encoding

8
推荐指数
1
解决办法
1453
查看次数

有没有办法逃避C预处理器指令?

我所试图做的是有C预处理器输出#ifdef,#else#endif指令.也就是说,我想以某种方式"转义"一个指令,以便预处理器的输出包括指令是在输出上运行的预处理器.

是否可以"转义"CPP指令,以便预处理器输出它,以便如果CPP输出本身是预处理的,则转义指令的输出将是预处理程序指令?

c c++ escaping c-preprocessor

8
推荐指数
3
解决办法
2637
查看次数


Error (-215) size.width&gt;0 &amp;&amp; size.height&gt;0 occurred when attempting to display an image using OpenCV

I am trying to run a simple program that reads an image from OpenCV. However, I am getting this error:

error: ......\modules\highgui\src\window.cpp:281: error: (-215) size.width>0 && size.height>0 in function cv::imshow
Run Code Online (Sandbox Code Playgroud)

Any idea what this error means?

Here is my code:

from matplotlib import pyplot as plt
import numpy as np
import cv2

img = cv2.imread('C:\\Utilisateurs\\Zeineb\\Bureau\\image.jpg',0)
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

python opencv

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

在autoconf/automake中可以包含GLib头文件

我需要为一个项目包含GLib头文件,该项目是使用基于autoconf的系统构建的,以便于移植.

如何以可移植的方式安全地导入GLib标头?我知道pkg-config,但这不是完全可移植的(因为有些系统没有它,我宁愿只依靠autoconf进行配置).

automake autoconf pkg-config autotools

7
推荐指数
2
解决办法
3535
查看次数

waitpid是否为已经退出的子进程生成有效状态信息?

如果我fork是子进程,并且子进程在父进程调用之前退出waitpid,那么设置的退出状态信息是否waitpid仍然有效?如果是的话,什么时候变得无效; 即,如何确保我可以调用waitpid子pid并在任意时间后继续获取有效的退出状态信息,以及如何"清理"(告诉操作系统我不再对退出感兴趣完成的子进程的状态信息)?

我正在玩下面的代码,似乎退出状态信息在孩子完成后至少几秒钟有效,但我不知道多长时间或如何通知操作系统我不会waitpid再次打电话:

#include <assert.h>
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/wait.h>

int main()
{
    pid_t pid = fork();

    if (pid < 0) {
        fprintf(stderr, "Failed to fork\n");
        return EXIT_FAILURE;
    }
    else if (pid == 0) { // code for child process
        _exit(17);
    }
    else { // code for parent
        sleep(3);

        int status;
        waitpid(pid, &status, 0);
        waitpid(pid, &status, 0); // call `waitpid` again just to see if …
Run Code Online (Sandbox Code Playgroud)

c fork waitpid posix-api

7
推荐指数
1
解决办法
5033
查看次数

确定可读文件描述符是否是管道的读取端

我想用来splice将数据从零拷贝STDIN_FILENO到文件描述符(可以是常规文件,字符或块设备,FIFO或任何可以打开的东西open).为了使用splice,无论是文件描述符或文件描述符必须是一个管的适当端,所以一般的管在创建时程序员希望从非管非零拷贝数据以用作中介缓冲-管.但是,如果STDIN_FILENO已经是管道的读取端,那么我可以跳过该步骤并尝试直接拼接STDIN_FILENO到另一个文件描述符.因此,我希望能够确定是否STDIN_FILENO是管道的读取端.

是否有Linux系统调用可以确定是否STDIN_FILENO是管道的读取端?

c linux file-descriptor splice zero-copy

7
推荐指数
1
解决办法
1743
查看次数

有没有办法让AuthorizeAttribute响应状态代码403 Forbidden而不是重定向?

如果用户未登录并且他们请求标记的操作[Authorize],则响应是重定向到Account/LogOn操作(状态代码302 Found).

有没有办法让响应成为状态代码403 Forbidden?

c# authorize-attribute http-status-code-403 asp.net-mvc-2

7
推荐指数
1
解决办法
4327
查看次数