回答編集履歴

1

誤記修正

2018/08/15 15:16

投稿

toki_td
toki_td

スコア2850

test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  これはライブラリの事情によるものです。
20
20
 
21
- libc++は通常まとまったコンパイル済みライブラリとして存在するので、libc++をプログラム側がメモリの確保は自前のものにしたい(libc++のoperator newを完全に置き換えたい)場合に、グローバルなoperator newを作成してもlibc++のものがすでにあるのでリンク時に邪魔をしてしまいます。
21
+ libc++は通常まとまったコンパイル済みライブラリとして存在するので、プログラム側がメモリの確保は自前のものにしたい(libc++のoperator newを完全に置き換えたい)場合に、グローバルなoperator newを作成してもlibc++のものがすでにあるのでリンク時に邪魔をしてしまいます。
22
22
 
23
23
  そこで、_LIBCPP_WEAKを付けておくことでユーザー側(libc++使用側)に同じシンボルがあればそちらが利用されるようになります。
24
24