私は答えがいいえではないと思いますが、通常はソースコードを調べるのに問題はありませんが、私はC/C++のやや新しく、この定数が宣言されている場所を見つけることができません。決して定義/宣言されていないC定数を参照する方法はありますか?
CMD_REQ_REDIS_MGET
をThe hiredis-vip client library for Redisで探しています。私はこれについてgithub/google検索を行い、5回の出現のために正確に2つのファイルに結果を得ました。私はまた、ソースコードの文字列をgrepしようとしました。
$ grep -rnw ./ -e "CMD_REQ_REDIS_MGET"
./command.c:241: case CMD_REQ_REDIS_MGET:
./command.c:574: r->type = CMD_REQ_REDIS_MGET;
./hircluster.c:3257: if (command->type == CMD_REQ_REDIS_MGET) {
./hircluster.c:3446: if (command->type == CMD_REQ_REDIS_MGET) {
./hircluster.c:3480: if (command->type == CMD_REQ_REDIS_MGET) {
ソースコードにはバイナリが含まれておらず、自己完結型であると考えられています。 Redisに関連する外部ソースからのライブラリは含まれていないので、数時間混乱してしまいました。
私が知る必要があるのは、同じような別の定数を追加しようとしていることです。宣言が見つからないというエラーが発生し続けているので、ここでは黒い魔法が発生しているのでしょうか?私が気づいていないCです。
編集:このコードは実際にはそのままコンパイルされることを指摘したい。
適切なレベルでgrepを実行していますか?そのような定義は通常、.hファイルにあります。 –
@ Jean-FrançoisFabre私はgit repoのルートでそれを実行しています –