[解決済み] gcc エラー : `itoa' への未定義の参照
2022-01-26 01:38:43
質問
stdlib.hをインクルードすると、itoa()も認識されません。私のコード。
%{
#include "stdlib.h"
#include <stdio.h>
#include <math.h>
int yylex(void);
char p[10]="t",n1[10];
int n ='0';
%}
%union
{
char *dval;
}
%token ID
%left '+' '-'
%left '*' '/'
%nonassoc UMINUS
%type <dval> S
%type <dval> E
%%
S : ID '=' E {printf(" x = %sn",$$);}
;
E : ID {}
| E '+' E {n++;itoa(n,n1,10);printf(" %s = %s + %s ",p,$1,$3);strcpy($$,p);strcat($$,n1);}
| E '-' E {n++;itoa(n,n1,10);printf(" %s = %s – %s ",p,$1,$3);strcpy($$,p);strcat($$,n1);}
| E '*' E {n++;itoa(n,n1,10);printf(" %s = %s * %s ",p,$1,$3);strcpy($$,p);strcat($$,n1);}
| E '/' E {n++;itoa(n,n1,10);printf(" %s = %s / %s ",p,$1,$3);strcpy($$,p);strcat($$,n1);}
;
%%
main()
{
yyparse();
}
int yyerror (char *s)
{
}
このコードを実行した後、私は:
gcc lex.yy.c y.tab.c -ll
12.y: In function ‘yyparse’:
12.y:24: warning: incompatible implicit declaration of built-in function ‘strcpy’
12.y:24: warning: incompatible implicit declaration of built-in function ‘strcat’
12.y:25: warning: incompatible implicit declaration of built-in function ‘strcpy’
12.y:25: warning: incompatible implicit declaration of built-in function ‘strcat’
12.y:26: warning: incompatible implicit declaration of built-in function ‘strcpy’
12.y:26: warning: incompatible implicit declaration of built-in function ‘strcat’
12.y:27: warning: incompatible implicit declaration of built-in function ‘strcpy’
12.y:27: warning: incompatible implicit declaration of built-in function ‘strcat’
/tmp/ccl0kjje.o: In function `yyparse':
y.tab.c:(.text+0x33d): undefined reference to `itoa'
y.tab.c:(.text+0x3bc): undefined reference to `itoa'
y.tab.c:(.text+0x43b): undefined reference to `itoa'
y.tab.c:(.text+0x4b7): undefined reference to `itoa'
どこが悪いのでしょうか?なぜ itoa への参照が見つからないのでしょうか?itoaのために<>ブラケットも試しました。
どうすればいいですか?
itoa
は、一部のコンパイラでサポートされている非標準の関数です。このエラーから察するに、あなたのコンパイラーではサポートされていないようです。最善の策は
snprintf()
の代わりに
関連
-
[解決済み】fatal error: Python.h: そのようなファイルやディレクトリはありません
-
[解決済み] .ascizと.stringアセンブラディレクティブの違いは何ですか?
-
gccコンパイルオプション -fpermissive
-
[解決済み] なぜGCCはa*a*a*a*aを(a*a*a)*(a*a*a)に最適化しないのでしょうか?
-
[解決済み] g++とgccの違いは何ですか?
-
[解決済み] LLVMとは何ですか?
-
[解決済み] GCC -fPIC オプション
-
[解決済み】vtableへの未定義の参照
-
[解決済み】gcc makefileのエラー。"No rule to make target ..." (ターゲットにするルールがありません)
-
[解決済み】すべてのgcc警告を無効にする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ファイル形式が認識されない。GCCを使用してリンカスクリプトとして扱う
-
[解決済み] .ascizと.stringアセンブラディレクティブの違いは何ですか?
-
[解決済み] gccのオプションにある-m32、-m64、nothingの違いは何ですか?
-
[解決済み] gccの-lpthreadオプション
-
[解決済み] シグナル11[SIGSEGV]のデフォルトアクションでプロセスが終了しています。
-
gccコンパイルオプション -fpermissive
-
[解決済み] OSX 10.9にXcodeをインストール - clang: エラー: 入力ファイルがありません。
-
[解決済み] 整数から文字列に変換するための itoa() の代替 C++? [重複しています]。
-
[解決済み】GCCのプリプロセッサー定義のダンプ
-
[解決済み] ライブラリを静的にリンクするようにgccに直接指示する