这里的_Znwm是标准库来的,返回类型是i8*,对应到了C++里面的void*. 你说的类型转换对应于 %0 = bitcast i8* %call to %struct.foo*. 构造函数的调用则在这 call void @_ZN3fooC1Ev(%struct.foo* %0)。 你可能会好奇为什么会有两个构造函数,C1和C2,但是很遗憾,我不太想讲-_-||,你只需要知道这是ABI规定的即可,普通C++开发程序员没有任何必要需要知道构造函数为什么有C1和C2。