小编Vik*_*kas的帖子

为什么C和C++中相同代码的对象文件大小会发生变化

我在Visual Studio 2008的C和C++构建环境中编写了相同的代码行,但C代码的目标文件大小为5.5kb,C++代码文件大小为6.17 kb.为什么会有这种差异?

以下是两种环境中的代码:

#include <stdio.h>

struct S
{
    char c;
};
void func()
{
    int i;
    int j;
    printf("%d", i);
}

int main()
{
    struct S s;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c c++

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

POD和用户定义数据类型之间的区别有多大?

第一:

int *p = new int;
Run Code Online (Sandbox Code Playgroud)

第二:

class A{};

A *pa = new A;
Run Code Online (Sandbox Code Playgroud)

new和编译器如何确定何时调用构造函数?在第一种情况下,编译器不生成调用p的构造函数的代码,在第二种情况下,它生成代码来调用A的构造函数.使用哪种机制进行这样的选择?

c++ new-operator

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

谁将堆分配给DLL?

假设我开发了一个DLL,比如1.dll使用MS visual studio 2005/2008,然后我将这个DLL链接到一个控制台应用程序,比如1.exe,在加载时(使用头文件和.lib文件)然后在DLL里面时,如果我在运行时分配内存,那么谁将堆(免费存储)分配给DLL.

据我所知,DLL使用进程的地址空间来存储数据,代码和堆栈.

windows dll

4
推荐指数
1
解决办法
2874
查看次数

为什么'new'是一个运算符,而不是一个函数?

是否有任何问题,如编译时运算符,sizeof与new相关联?

c++ new-operator

0
推荐指数
1
解决办法
919
查看次数

标签 统计

c++ ×3

new-operator ×2

c ×1

dll ×1

windows ×1