我正在教授使用pascal編程高中生的編程以及某些出於我的好奇心。如何使用Freepascal進行編譯時禁用RTL
我想做一個簡單的pascal源代碼批處理編譯器來編譯我的學生的源代碼文件。但是我想限制使用RTL單元的源代碼,比如說math
。
program test;
uses math;
begin
writeln(logn(2,2));
end.
的logn
是從math
單元的功能,所以自然如果刪除uses math
線中,FPC編譯器將顯示錯誤消息上面的代碼編譯後。
當我查看/etc/fpc.cfg
文件時,RTL單元包含在單元路徑中。
# searchpath for units and other system dependent things
-Fu/usr/lib/fpc/$fpcversion/units/$fpctarget
-Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/*
-Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/rtl
#-Fu~/fpc/packages/base/*/units/;~/fpc/fcl/units/;~/fpc/rtl/units/
但是在我評論所有這些行後,RTL單元仍然是鏈接的。作爲我的最後一招,我嘗試刪除rtl /usr/lib/fpc/2.4.0/units/x86_64-linux/rtl
目錄,但奇怪的是源代碼仍然可以編譯。
任何建議或我錯過任何一步?
只有'/ usr/lib/fpc/2.4.0'和'/ etc/fpc.cfg'。我正在安裝新鮮安裝的Ubuntu 11.04上的fpc。 –