佐々木@でかいの です。
fprintf()の頭に間違えてvという冗字が入っているだけというオチ?
> Vine Linux 2.1.5 で以下のようなプログラムをコンパイル
> 実行したところ、Segmentation fault が発生しました。
>
> #include <stdio.h>
> int main()
> {
> char buff[1024];
>
> strcpy(buff, "abcdefg\n");
>
> vfprintf(stdout, "Result is %s\n", buff);
>
> return(0);
> }
何がしたいのかわかりませんが、vfprintf()の3番目の引数の型はva_list
ですから char*型の buffを渡している時点で変です。
#include <stdarg.h>があればコンパイル時にエラーとなるはずです。
#include <stdarg.h>がなくともプロトタイプ宣言がないという警告が
出るはずです。無視しましたか?
> gdb に寄りますと、
>
> 1259 vfprintf.c: そのようなファイルやディレクトリはありません.
> in vfprintf.c
>
> との事ですが、これは何かライブラリをリンクする必要があるので
> しょうか。
ソースファイル vfprintf.cがみつからないといっています。
linux環境ならならglibcのソースを展開して、gdbの-dオプションで
vfprintf.cがあるディレクトリを指定する必要があるでしょう。
でかいの企画 佐々木茂彦
ssasaki _at_ dekaino.net
References:
- [fol] vfprintf.c no such file or directoryHONKYOU Tadashi
- Prev by Date: [fol] vfprintf.c no such file or directory
- Next by Date: [fol] Re: vfprintf.c no such file or directory
- Previous by thread: [fol] vfprintf.c no such file or directory
- Next by thread: [fol] vfprintf.c no such file or directory
- Indexes:[Main][Thread]