C言語なら俺に聞け(入門編)Part 112at TECH
C言語なら俺に聞け(入門編)Part 112 - 暇つぶし2ch253:デフォルトの名無しさん
13/02/06 15:27:59.42
マクロでどうにかしてみる

254:デフォルトの名無しさん
13/02/06 15:45:26.48
c++のclassの関数のオーバライドはちょっと違うんじゃね

255:デフォルトの名無しさん
13/02/06 16:26:56.14
>>247
まともな回答がほしければokwaveとかY!知恵遅れあたりへどうぞ

256:デフォルトの名無しさん
13/02/06 21:23:26.14
シンボル衝突時にどっちを採用するか(またはエラーとするか)はリンカ次第じゃないの?

257: ◆QZaw55cn4c
13/02/06 21:23:56.08
>>247
>>253
#define で違う名前に変換こんな感じ
#define xmalloc(x, y) malloc(x)
#define xfree(x, y) free(x)
#define xrealloc(x, y, z) realloc(x, y)

258:デフォルトの名無しさん
13/02/06 22:21:54.62
#include <stdio.h>
void hoge(int a) {printf("OK\n");};
#define hoge(a) \
if (a==1) printf("NG1\n");\
else if (a==2) (hoge)(a);\
else if (a==3) printf("NG2\n");
int main()
{
hoge(1);
hoge(2);
hoge(3);
return 0;
}

259:デフォルトの名無しさん
13/02/06 22:24:07.41
inline使えよw

260:デフォルトの名無しさん
13/02/06 22:36:13.07
ライブラリ関数の中から呼ばれる関数はどうやって対応すんの?ってことでしょ
例えばライブラリ関数say_hello()からsay()が呼ばれるけどsay()の挙動がおかしいと。
このときsay()を自前のに置き換えるにはどうすんのかね?

261:デフォルトの名無しさん
13/02/06 22:45:08.41
オープンソース、というのだから同じく >>257 でいけばいいんじゃない?
すげかえ#define を .h にかいておき、ライブラリのすべての .c でその .h を #include

262:デフォルトの名無しさん
13/02/06 22:45:40.98
バイナリエディタでsay()の名前を変更
自作関数でsay()を作成

263:デフォルトの名無しさん
13/02/06 22:47:55.41
名前残ってないんじゃね?

264:デフォルトの名無しさん
13/02/06 22:50:59.53
ライブラリなら名前残ってるだろ

265:デフォルトの名無しさん
13/02/06 22:55:04.76
ライブラリ=so
なら残るだろうが
質問者が想定してるのはもっと広義なライブラリなきがする

266:デフォルトの名無しさん
13/02/06 22:57:35.47
patchあてろ。
まで理解した
というわけで誰かあてかた教えて

267:デフォルトの名無しさん
13/02/06 23:28:09.09
ライブラリの問題なのか俺々実装の問題なのかをよく考えませう。

268:デフォルトの名無しさん
13/02/07 00:04:44.95
バイナリをなんとかしようとするのはそもそも無理ゲーなのでは?
オープンソースっていうのだから、最小限のソース変更で切り抜ければいいのでは?

269:デフォルトの名無しさん
13/02/07 00:10:36.74
>ライブラリのコードを変更することなく、

だからなあ

270:デフォルトの名無しさん
13/02/07 00:21:56.25
じゃあリンカを改造するしかないね

271:デフォルトの名無しさん
13/02/07 01:15:54.25
置き換えたいのは標準関数なの?

272:デフォルトの名無しさん
13/02/07 04:09:21.82
UNIX系ならこんなこと出来るらしいが
URLリンク(www.ibm.com)

273:デフォルトの名無しさん
13/02/07 04:19:08.25
お引取り願いたいanyにvoid any()__declspec(selectany){...}しちまえばいいんじゃないかな
void any()__attribute(ナントカ){}とか


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch