相关疑难解决方法(0)

什么是严格别名规则?

当询问C中常见的未定义行为时,灵魂比我提到的严格别名规则更加开明.
他们在说什么?

c strict-aliasing undefined-behavior type-punning

778
推荐指数
10
解决办法
19万
查看次数

用gcc编译C++程序

问题:如何使用gcc编译器编译C++程序?

info.c:

#include<iostream>
using std::cout;
using std::endl;
int main()
{
   #ifdef __cplusplus
   cout << "C++ compiler in use and version is " << __cplusplus << endl;
   #endif
   cout <<"Version is " << __STDC_VERSION__ << endl;
   cout << "Hi" << __FILE__ << __LINE__ << endl;
}
Run Code Online (Sandbox Code Playgroud)

当我尝试编译 info.c

$ gcc info.C

Undefined                       first referenced
 symbol                             in file
cout                                /var/tmp/ccPxLN2a.o
endl(ostream &)                     /var/tmp/ccPxLN2a.o
ostream::operator<<(ostream &(*)(ostream &))/var/tmp/ccPxLN2a.o
ostream::operator<<(int)            /var/tmp/ccPxLN2a.o
ostream::operator<<(long)           /var/tmp/ccPxLN2a.o
ostream::operator<<(char const *)   /var/tmp/ccPxLN2a.o
ld: fatal: Symbol referencing errors. No output written …
Run Code Online (Sandbox Code Playgroud)

c++ gcc gnu g++

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

结构前缀的布局

C/C++ 语言不会对内存中的结构成员重新排序,也不会在第一个成员之前插入填充。但是如果我有 2 个以相同成员开头的结构,如果我只访问公共成员,我可以在它们之间进行转换吗?换句话说,结构布局是否贪婪?我的具体案例是在VIDEOINFOHEADERVIDEOINFOHEADER2之间铸造

c c++ struct casting

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

标签 统计

c ×2

c++ ×2

casting ×1

g++ ×1

gcc ×1

gnu ×1

strict-aliasing ×1

struct ×1

type-punning ×1

undefined-behavior ×1