我需要使用 Visual C++ 来构建定制的 Apache Web 服务器。这是我试图实现的目标:在 Apache 源代码中指定一些函数或数据,并将它们放在输出 .exe 文件的单独和 4k 页对齐的部分(不是 .text .data .bss)中。
我可以在网上找到的壁橱解决方案是使用/Gy 编译器选项将每个函数编译成不同的 COMDAT,然后使用/ORDER 链接器选项将 COMDAT 按预定顺序放置。但是,它只是在节内重新排序,而不是更改 .exe 输出中的节布局或创建新节。在 Linux 下,我可以使用编译器属性“section”和链接器脚本来实现我的目标。 Visual C++ 中是否有等效的解决方案?非常感谢:-)
最佳答案
#pragma code_seg
允许您指定将放置代码的段。除了能够指定名称之外,编译器还会保留一堆名称,以便您可以根据需要推送和弹出当前状态。
关于visual-c++ - 如何在 Visual C++ 中将一些函数分组到 .exe 输出的新内存部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4273142/