Birden fazla kaynak dosyanız varsa, muhtemelen tüm program için bir bit kodu dosyası çıkarmak için bağlantı zamanı optimizasyonunu kullanmak istersiniz. Verilen diğer cevaplar, her kaynak dosya için bir bit kodu dosyası elde etmenize neden olacaktır.
Bunun yerine, bağlantı zamanı optimizasyonu ile derlemek istiyorsunuz
clang -flto -c program1.c -o program1.o
clang -flto -c program2.c -o program2.o
ve son bağlama adımı için -Wl, -plugin-opt = also-emit-llvm argümanını ekleyin
clang -flto -Wl,-plugin-opt=also-emit-llvm program1.o program2.o -o program
Bu size hem derlenmiş bir program hem de ona karşılık gelen bit kodu verir (program.bc). Daha sonra program.bc'yi istediğiniz şekilde değiştirebilir ve değiştirilen programı istediğiniz zaman yeniden derleyebilirsiniz.
clang program.bc -o program
her ne kadar gerekli bağlayıcı bayraklarını (harici kitaplıklar vb. için) bu adımda tekrar eklemeniz gerektiğini unutmayın.
Bunun çalışması için altın bağlayıcı kullanmanız gerektiğini unutmayın. Clang'ı belirli bir bağlayıcıyı kullanmaya zorlamak istiyorsanız, bilgisayarınızda bir yerde "fakebin" adlı özel bir dizinde "ld" adlı bağlayıcıya sembolik bağlantı oluşturun ve seçeneği ekleyin
-B/home/jeremy/fakebin
yukarıdaki herhangi bir bağlantı adımına.