目次
博士課程学生です。電子工作はただの趣味です。
工作HardwareHubからのお知らせ
プログラムからOSに返す値
return 0
で正常終了を表現することはよく知られています。ただ、0
という数字は人間にとって直感的ではありません。
数字に意味を与える
sysexits.h
をインクルードすることで return EX_OK
と記述できるようになります。
その他にも、使用方法の間違いによるエラー終了を示す EX_USAGE
も #define
されています。
一度見てみると面白いかもしれません。環境によりますが、例えば /usr/include/sysexits.h
に置かれています。
#include <stdio.h>
#include <sysexits.h>
int main(int argc, char *argv[]) {
if(argc <= 1) {
fprintf(stderr, "USAGE ERROR\n");
return EX_USAGE;
}
printf("%s\n", argv[1]);
return EX_OK;
}
0
記事の執筆者にステッカーを贈る
有益な情報に対するお礼として、またはコメント欄における質問への返答に対するお礼として、 記事の読者は、執筆者に有料のステッカーを贈ることができます。
さらに詳しく →Feedbacks
ログインするとコメントを投稿できます。
関連記事
- cmake で ccache を有効化するための設定YOCTO Linux で開発している場合など、ビルド速度が開発効率にそのまま影響する際は ccache (compiler cache) で C/C++ ビルドを高速化することを考えます。cmakeと併用する場合の設定およびコマンド例を記載します。 インストール sudo apt install ccache 以下のバイナリファイルに加えて $ w
- Python から C ライブラリを利用 (ctypes)FFI (Foreign Function Interface) の一つである ctypes を利用すると、C 言語のライブラリを Python から利用できます。サンプルコードを記載します。 適宜参照するための公式ドキュメント libm の sqrt を利用する例 main.py ``
- 低レイヤーネットワークプログラミングに関する雑多な知識TCP/IP モデルのうちトランスポート層ではなく、インターネット層およびネットワークインターフェイス層のパケット (正確には PDU) を扱う低レイヤープログラミングの雑多なテクニックをまとめます。『ルーター自作でわかるパケットの流れ』などを参考にしています。バックアップ目的で書籍のサンプルコードをホスティングしました。 検証環境
- ファイルディスクリプタ関連のシステムコールのサンプルコード (C 言語)ファイル記述子 (File Descriptor) に関連するシステムコールを利用した C 言語のサンプルコードを記載します。 ファイルの読み書き open/close main.c #include <unistd.h> #include <fcntl.h> #include <stdio.h> int main() { int fd_r, fd_w;...
- C言語の資産を利用 (C++をもう一度)サンプルコード メルセンヌ・ツイスタなど、C言語で記述されたライブラリをC++から利用するためには extern "C" を利用します。その際、組み込みマクロ __cplusplus を利用するとC言語からもC++からも利用できるヘッダファイルを作成できます。 sub.h #ifndef SUB_H_ #define SUB_H_ #ifdef __cplu