1
當我遞給變量CC
其中包含引用系統上的編譯器可執行文件使用編譯器特定的標誌。我需要獲取這個可執行文件,並最終用一些特定於編譯器的鏈接參數來調用它。檢測編譯器和調用
我目前的做法似乎很脆弱:
def guess_compiler(cc):
out = subprocess.check_output((cc, '--version'))
for possible in (b'clang', b'gcc'):
if possible in out:
return possible.decode()
else:
# Fall back to gcc
return 'gcc'
從這個我用的我關心的特定鏈接程序參數的映射:
return {
'clang': '-Wl,-undefined,dynamic_lookup',
'gcc': '-Wl,--unresolved-symbols=ignore-all',
}[cc]
總之,我希望有一個更好的(不太脆弱)的方式去做我已經完成的事情。
對於那些尋找爲什麼我想是這樣的,它主要是在a project I'm implementing便攜性。
編輯與我試圖去:) –