xxdこのためのモードがあります。-i/ --includeオプションは以下となります。
  Cの出力にはファイルスタイルが含まれます。xxdがstdinから読み取らない限り、完全な静的配列定義が書き込まれます(入力ファイルにちなんで命名されます)。
それをファイルにダンプして#includedにし、foo他の文字配列と同じようにアクセス(またはリンク)することができます。また、配列の長さの宣言も含まれます。
出力は80バイトにラップされており、基本的には手で書くもののように見えます。
$ xxd --include foo
unsigned char foo[] = {
  0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x2c, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64,
  0x21, 0x0a, 0x0a, 0x59, 0x6f, 0x75, 0x27, 0x72, 0x65, 0x20, 0x76, 0x65,
  0x72, 0x79, 0x20, 0x63, 0x75, 0x72, 0x69, 0x6f, 0x75, 0x73, 0x21, 0x20,
  0x57, 0x65, 0x6c, 0x6c, 0x20, 0x64, 0x6f, 0x6e, 0x65, 0x2e, 0x0a
};
unsigned int foo_len = 47;
xxd少し奇妙なことに、vimディストリビューションの一部であるため、すでにそれを持っている可能性があります。そうでない場合は、そこから取得しますvim。ソースからツールを独自に構築することもできます。