■
argc, argv ともに仕様で書き換え可能らしい。
<引用>JIS X3010
5.1.2.2.1 プログラム開始処理
- 仮引数argc,argv及びargv配列が指す文字列は,プログラムによって変更可能でなければならない。さらに,プログラム開始処理からプログラム終了処理までの間,最後に格納された値を保持しなければならない。
</引用>
出典を確認する必要あり。
JIS X 3010:2003 プログラム言語C に上記の記述があることを確認した。
【C++】nm と c++filt
ライブラリにどんなクラス・関数が含まれているか、nm コマンドで確認できる。
C++の場合、名前が mangling されているので、c++filt を使うと demangle してくれる。
また、nm に -C オプションを付けると demangle してくれる。
$ nm -C libecrobot++.a | grep LightSensor
LightSensor.o:
00000001 T ecrobot::LightSensor::setLamp(bool)
00000001 T ecrobot::LightSensor::LightSensor(ePortS, bool)
00000001 T ecrobot::LightSensor::LightSensor(ePortS, bool)
00000001 T ecrobot::LightSensor::~LightSensor()
00000001 T ecrobot::LightSensor::~LightSensor()
00000001 T ecrobot::LightSensor::~LightSensor()
00000001 T ecrobot::LightSensor::getBrightness() const
00000000 V vtable for ecrobot::LightSensor
RcxLightSensor.o:
00000001 T ecrobot::RcxLightSensor::RcxLightSensor(ePortS)
00000001 T ecrobot::RcxLightSensor::RcxLightSensor(ePortS)
00000001 W ecrobot::RcxLightSensor::~RcxLightSensor()
00000001 W ecrobot::RcxLightSensor::~RcxLightSensor()
00000001 T ecrobot::RcxLightSensor::getBrightness() const
00000000 V vtable for ecrobot::RcxLightSensor
【C++】メモ
CppCon2016関連情報。
近藤さんの LT:
https://www.youtube.com/watch?v=rXVg07rtSiI
gdbの使い方に関するプレゼン。
https://www.youtube.com/watch?v=-n9Fkq1e6sg