小编Fra*_*ter的帖子

gcc -D_FORTIFY_SOURCE = 1和-D_FORTIFY_SOURCE = 2之间的差异

有人能指出gcc -D_FORTIFY_SOURCE=1和之间的区别-D_FORTIFY_SOURCE=2吗?我想=2更安全吗?我找不到一个逐点列出差异的列表.

我还读过-D_FORTIFY_SOURCE=2应该使用的-O2,否则并非所有功能都可用.此外,我还没有找到一个列表,详细说明回归.我特别感兴趣的是编译-Os目标是一个没有那么多闪存的设备.

有关记录在哪里的任何提示欢迎!

security gcc glibc

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

解决MSVC上的清理程序功能

来自Linux/gcc/clang我发现自己在Windows/Visual Studio上的工作越来越多.

我真正缺少的是地址清理器(边界检查,泄漏,免费后使用,......).我做了一些研究,并尝试了一些事情,但没有找到完整(功能明智)和可靠的替代品.我以Dr.Memory为例,但了解到它对基于Qt的程序不起作用(至少在Windows 10上不行).

那么如何在Windows/MSVC上获得类似地址清理程序的功能呢?

c++ qt visual-studio address-sanitizer

10
推荐指数
2
解决办法
6431
查看次数

Mel Gorman的"了解Linux虚拟内存管理器"是否过时了?

我试图更深入地了解linux的虚拟内存管理器.如果找到一本名为"了解Linux虚拟内存管理器[1]"的书,由Mel Gorman编写,看起来相当精细.不幸的是它基于2.4内核系列所以它的那种古老.

有谁读过这本书?它仍然相关吗?备择方案?

[1] http://www.kernel.org/doc/gorman/pdf/

virtual-memory linux-kernel

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

-Wl,-wrap =符号不适用于共享库

我尝试使用GNU链接器功能“ -wrap = symbol”来拦截大型应用程序对malloc()的所有调用。该应用程序正在使用一大堆共享库。

链接器阶段如下所示:

g++ -Wl,-wrap=malloc -o samegame .obj/main.o .obj/qrc_samegame.o -lQt5Quick -lQt5Qml -lQt5Network -lQt5Gui -lQt5Core -lGL -lpthread

我的包装器看起来像这样:

extern "C" {
void *
__real_malloc(size_t c);

void *
__wrap_malloc(size_t c)
{
    printf("my wrapper");
    return __real_malloc (c);
}
}
Run Code Online (Sandbox Code Playgroud)

我的问题是我看到包装程序被要求直接从我的应用程序完成的malloc调用。不会钩住在共享库之一中完成的malloc调用。

难道我做错了什么?

c linux linker gcc ld

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

C++:将指针变量传递给函数

我有一个类Node:

class Node {
public:
    int item;
    Node * nextLink;
};
Run Code Online (Sandbox Code Playgroud)

在函数外部我声明了一个Node指针:

Node * newNode;
Run Code Online (Sandbox Code Playgroud)

然后,我将此指针传递给函数foo:

void foo(Node * node) {

  node = new Node();

  node->item = 1;

  Node * anotherNode = new Node();

  anotherNode->item = 2;

  node->nextLink = anotherNode; 
}
Run Code Online (Sandbox Code Playgroud)

实际通话:

foo(newNode);
Run Code Online (Sandbox Code Playgroud)

在foo结束时(但在现有之前),我可以看到node-> item和node-> nextLink指向正确的位置.但是,当从foo返回时,我检查newNode,并且该项是正确的,但nextLink不在那里.

有什么建议?谢谢

c++ pointers

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