C

ちょっと便利なデバッグ用Cマクロ

C

検索でなかなか引っかからなかったのでメモしておく。 #define printf_d(x) (printf(#x " = %d\n", x)) 整数だけだとちょっと寂しいので浮動小数点と文字列の場合を増やしてみた。 さらにもう一つ説明用の文字列を取れるようにしてみた。 // 整数 #define pr…

NXTでData abortなる例外が...

NXT C

めんどくさいことにData abortなるセグフォ(Segmantation Fault)を起こしてしまった。原因は構造体の代入をやり忘れてたから起こったことだった。 再現しようと思ったらものすごくめんどくさかった...。でもまだちゃんと実行してない...。 balanceRunner.tai…

NXT用のデータ出力マクロのメモ

NXT C

ちょっとしたデバッグ用マクロ。ecrobot_debug1が不便なので作ってみた。 #define DATA_OUTPUT(str, a, b, c) \ display_clear(0); \ display_goto_xy(0, 0); \ display_string(#str); \ \ display_goto_xy(0, 1); \ display_string("VAR1: "); \ display_in…

error: no macro name given in #ifndef directiveってなんだという

NXT C

make allしたら盛大にエラーが出てきた。 $ make all Compiling Source/ColorDetector.c to ColorDetector.o In file included from Header/ColorDetector.h:5, from Source/ColorDetector.c:1: Header/LightSensor.h:3:8: error: no macro name given in #i…

mallocの警告の対処方法メモ

C

Cでプログラムを作っていた時に、mallocを使っていてこんな警告が出てた。 警告: 組み込み関数 ‘malloc’ の互換性がない暗黙的な宣言です これは #include "stdlib.h" がないから警告が出るみたい。なので、ソースコードに、上の#include "stdlib.h"を付け加…

NXCのプログラミングで役立つこと

C NXT

NXCとかで役立つこと※これはの可読性(プログラムが見やすいかどうか)を少しでも向上させてほしいという願いのもとで書いてます。前進、左回転、右回転、後退は関数にまとめることができる(モジュール化)。自分がモジュール化すると、それはこんな感じ。 /*直…