[實作] J001:用 MinGW 編譯 Ratfor

看板PLT (程式語言與理論)作者 (jans0204)時間2年前 (2022/08/19 08:08), 2年前編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
1. 下載原始碼: # # C Ratfor is a ratfor preprocessor written in C. # https://github.com/slattarini/ratfor # ratfor-master.zip 2. 下載測試碼: # # Sieve.r # https://rosettacode.org/wiki/Sieve_of_Eratosthenes#RATFOR 3. 編寫補釘碼: // // config.h // #define PACKAGE_STRING "C Ratfor" #define S_IRUSR 0400 #define S_IWUSR 0200 #define S_IRGRP 040 #define S_IWGRP 020 #define S_IROTH 04 #define S_IWOTH 02 4. 編寫編譯碼: :: :: mk-exe.bat :: if exist ratfor.exe del ratfor.exe if exist a.exe del a.exe if exist a.log del a.log gcc -I. codegen.c define.c error.c include.c init.c io.c labgen.c main.c parser.c rat4-hash.c tokenizer.c xopen.c > a.log 2>&1 if exist a.exe ren a.exe ratfor.exe 5. 抽取 ratfor-master.zip\src\ 至工作目錄,例如:R:\src\ (RAMDRIVE) 6. 將 Sieve.r, config.h, mk-exe.bat 三檔案加入 R:\src\ 7. 在 R:\src\ 開啟 Console Cmd (命令提示字元),執行 mk-exe.bat 開始編譯,產生 ratfor.exe 8. 測試: R:\src>ratfor.exe -o Sieve.f Sieve.r R:\src>g77 -o Sieve.exe Sieve.f R:\src>Sieve.exe There are 168 primes. 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 337 347 349 353 359 367 373 379 383 389 397 401 409 419 421 431 433 439 443 449 457 461 463 467 479 487 491 499 503 509 521 523 541 547 557 563 569 571 577 587 593 599 601 607 613 617 619 631 641 643 647 653 659 661 673 677 683 691 701 709 719 727 733 739 743 751 757 761 769 773 787 797 809 811 821 823 827 829 839 853 857 859 863 877 881 883 887 907 911 919 929 937 941 947 953 967 971 977 983 991 997 R:\src> 9. 編譯環境:gcc 3.4.5 (2004) (mingw-vista special r3) 附註1:不用 gcc -o ratfor.exe 改用 ren a.exe ratfor.exe 是因為参數列太長。 附註2:gcc -I. 是因為原始碼使用: #include <config.h> 是角括弧而非雙引號。 附註3:不用 configure; make 而用 DOS.bat 是因為不想進入 MSYS 且 autoconfig 沒 甚麼內容,乾脆自己製造 config.h 也解決檔案權限問題。還有也不用 make clean。 附註4:沒有入錯板,我的領域是 Program Language 的實作。Ratfor 是我 Review 之旅 的首步。 (END) https://github.com/jans0204/J001-MinGW-Ratfor -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 124.218.31.163 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/PLT/M.1660867713.A.4B6.html

08/25 06:36, , 1F
好耶,先 m 起來
08/25 06:36, 1F
※ 編輯: jans0204 (124.218.31.163 臺灣), 09/21/2022 15:56:30
文章代碼(AID): #1Y_jI1Is (PLT)
文章代碼(AID): #1Y_jI1Is (PLT)