tkhrsskの日記

技術ネタなど

C言語メモ

Warning対処をしたMemo

 

特に環境依存でWarningが発生する場合の対処について備忘録

・書式

#define __STDC_FORMAT_MACROS
#include <inttype.h>

としておいて、

size_t は、%zu
uint64_t は、%PRIu64

http://d.hatena.ne.jp/pyopyopyo/20110530/p1

・ポインタを整数として扱う

C99 で導入された stdint.h で提供される intptr_t または uintptr_t を使います。

http://0xcc.net/blog/archives/000113.html

 

・struct sigationの初期化

struct sigaction action = {{0}};

などとしていが、構造体の初回メンバが、構造体だったり通常のメンバだったりする。
宣言時には初期化しない。

struct sigaction action;
memset(&action, 0, sizeof(action));

http://www.linuxprogrammingblog.com/code-examples/sigaction