実行可能ファイルのデータ セクションに文字列を配置する C および C++ コンパイラの規則を見つけようとしていますが、どこを見ればよいかわかりません。次のすべてのアドレスが、仕様によって c/c++ で同じであることが保証されているかどうかを知りたいです。
char * test1 = "hello";
const char * test2 = "hello";
static char * test3 = "hello";
static const char * test4 = "hello";
extern const char * test5; // Defined in another compilation unit as "hello"
extern const char * test6; // Defined in another shared object as "hello"
Windowsでテストすると、それらはすべて同じです。ただし、それらがすべてのオペレーティング システムに搭載されるかどうかはわかりません。