Cbコンパイラのインストールと使用-「自作コンパイラ」

Cbコンパイラのインストールと使用-「自作コンパイラ」

Cbコンパイラをダウンロードする

  • ウェブサイト:http//www.ituring.com.cn/book/1308、ダウンロードをクリックし、右側の本をダウンロードしてcbc-1.0.tar.gzをダウンロードします。

Cbコンパイラをインストールする

  • cbc-1.0.tar.gzを仮想マシンにコピーして解凍します。

  • 仮想マシンに対するroot権限がある場合は、cbcフォルダーに直接移動して、スクリプトファイル./install.shを実行します。

    tar xzf cbc-1.0.tar.gz
    cd cbc-1.0
    su
    ./install.sh
    
  • 仮想マシンでroot権限を持っていない場合、またはroot権限でインストールしたくない場合は、cbcフォルダーに入った後、最初にinstall.shファイルをprefix="${1:-/usr/local/cbc}"変更し、最初の行をアクセス可能なディレクトリに変更します。例prefix="/home/IC/cbc"、スクリプトファイルを実行します。

  • スクリプトの実行後、cbcは対応するフォルダーにインストールされています。

Cbコンパイラをテストします

  • Cbプログラムファイルhello.cbを記述します。

    import stdio;
    
    int
    main (int argc,char **argv){
          
          
        printf("Hello, World!\n");
        return 0;
    }
    
  • コンパイラを使用してプログラムをコンパイルするには、cbcの場所を指定する必要があります。

    /home/IC/cbc/bin/cbc hello.cb
    
  • コンパイルするときエラーを報告する、エラーメッセージは次のとおりです:(プログラムにエラーがないことを確認することを前提として)

    hello.s: Assembler messages:
    hello.s:9: Error: suffix or operands invalid for `push'
    hello.s:12: Error: suffix or operands invalid for `push'
    hello.s:19: Error: suffix or operands invalid for `pop'
    cbc: error: as failed. (status 1)
    cbc: error: compile error
    
  • 解決策、私のシステムは64ビットで、アセンブリコードは32ビットなので、ブログを参照してください:https//blog.csdn.net/jackailson/article/details/82192273?utm_source = blogxgwz6

    as hello.s -o hello.o
    gcc hello.o -o hello
    ./hello
    
  • まだ実行されていますエラーを報告する、エラーメッセージは次のとおりです。

    Segmentation fault
    
  • Cbcが古すぎて、新しいマシンには適用できないためです。解決するのは簡単ではありません。時間をかけて穴を埋めてください。

おすすめ

転載: blog.csdn.net/weixin_41754258/article/details/112643842