小编Agn*_*ian的帖子

在C++中查看编译器管理的名称

如何在C++中查看编译器生成的重载函数的受损名称?我正在使用VC9,但欢迎其他编译器的答案.

编辑:我发现这里的所有答案都很有用.接受我最喜欢的那个.

c++ compiler-construction name-mangling visual-c++-2008

7
推荐指数
4
解决办法
4461
查看次数

为什么元素<u>根据VS2008被认为是过时的?

当我使用<u>元素时,为什么在Visual Studio中收到以下消息?

"元素'u'被认为是过时的.建议使用更新的结构"

它变老了吗?

html visual-studio-2008

7
推荐指数
3
解决办法
6231
查看次数

Windows API:窗口保证接收的第一条消息是什么?

我以前认为WM_CREATE是窗口收到的第一条消息.但是,在顶级窗口上测试此假设时,结果却是错误的.在我的测试中,WM_MINMAXINFO显示为第一条消息.

那么,窗口保证收到的第一条消息是什么?

winapi windows-messages

7
推荐指数
3
解决办法
7803
查看次数

区分TCHAR和_TCHAR

Windows标头tchar.h中定义的两个符号TCHAR_TCHAR类型之间有什么不同?用例子解释.简要描述在代码中使用TCHAR而不是_TCHAR的情况.(10分)

windows unicode tchar

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

比较多边形的相似性

比较两个多边形的相似性的常用方法是什么?顶点是2D.

geometry polygon

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

关于C中函数指针的一个问题

有以下声明:

void qsort(void *lineptr[], int left, int right, int (*comp)(void *, void *));
int numcmp(char *, char *);
int strcmp(char *s, char *t);
Run Code Online (Sandbox Code Playgroud)

然后,在程序的某个地方有以下调用:

  qsort((void**) lineptr, 0, nlines-1, 
                    (int (*)(void*,void*))(numeric ? numcmp : strcmp));
Run Code Online (Sandbox Code Playgroud)

(忽略前三个参数和numeric).

我问这是什么:

(int (*)(void*,void*))(numeric ? numcmp : strcmp)
Run Code Online (Sandbox Code Playgroud)

我明白,qsort期待一个"指向函数的指针获得两个void指针并返回一个int"作为它的第四个参数,但是上面的内容是如何满足的呢?在我看来,它似乎是某种类型的演员,因为它是由两个括号组成的,但那将是一个非常奇怪的演员.因为它需要一个函数并使这个函数成为"指向函数的指针,它获取两个void指针并返回一个int".这没有意义.
(我在这里遵循一个规则,即type变量之前的括号中的类型将变量提升为该类型).

所以我想我错了,也许有人可以告诉我怎么读这个,订单是什么?

c pointers casting function-pointers

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

来自命令行的蓝牙

如何从命令行通过蓝牙访问其他设备/计算机上的文件?

command-line cross-platform bluetooth platform-agnostic

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

.NET中的双向映射

是否有可用于双向查找的.NET数据结构?

这是问题所在:序列化.我的对象包含一个指向10个预定义静态对象之一的字段.写入文件时,我会写一个字符来表示正在引用10个对象中的哪一个.此时,我需要一个查找数据结构,这将允许我根据被引用的对象获取字符代码.反序列化时,我需要反过来.我可以想到很多其他我可以使用这种数据结构的地方.

.net collections containers data-structures

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

zsh究竟如何扩展globs?

我有一个C程序通过迭代argv变量显示它的命令行.

#include <stdio.h>

int main(int argc, char *argv[]){
    int i = 0;
    printf("----------\n");
    for(i = 0; i < argc; i++)
        printf("%s\n", argv[i]);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我在包含大型C++源代码树的文件夹中调用该程序,如下所示:

./a.out **/*.h
Run Code Online (Sandbox Code Playgroud)

输出:

zsh: argument list too long: ./a.out
Run Code Online (Sandbox Code Playgroud)

但是,当使用同一文件夹中的glob 调用时,程序喜欢ls并且grep没有任何问题**/*.h.为什么zsh在调用我的程序时会失败?如何zsh扩展通配符?

编辑:我在cygwin上使用zsh.

command-line zsh glob wildcard

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

在运行时调用堆栈

我想在Native C++应用程序中运行时访问调用堆栈.我没有使用IDE.如何显示调用堆栈?

更新:我有一个函数,从整个应用程序的许多点调用.它在极少数情况下崩溃.我正在寻找一种方法来获取调用者的名字并记录它.

debugging callstack visual-c++

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