2013-07-30 21 views
10

kod oldukça basittir: Standart bir çıkış geliyor kodunu derlemek için bir yolStdin'den kod nasıl derlenir?

test$ cat test.cpp 

int main() 
{ 
} 

var mı?

cat test.cpp | g++ - 

ve bazı varyasyonlar, ancak hiçbiri yürütülebilir üretilen:

Bunu denedim.


Sadece bazı açıklamalar. Önprocess bir dosya var ve ben derlemek istediğiniz başka bir dosya üretir. Bu ara dosyayı oluşturmayı değil, bunun yerine doğrudan nesne dosyasını üretmeyi düşündüm.

-E or -x required when input is from standard input 

cat test.cpp | g++ -x c++ - 
+2

Bu stdin, değil stdout. –

+1

İnsanlar neden standart girdiden derleme yapmak istiyorlar? Bir dosya oluşturmak ve derlemek zor mu? –

+1

@ DavidRodríguez-dribeas Benim sloganım: orta bir adam atlamak :) –

cevap

12

derleyici muhtemelen size söylerdim?

$ cat tst.cpp | g++ -x c++ - 

Sadece Cygwin altında denedim ve sorun yaşamadım.

+0

Evet, bana anlattı, ama sonradan C++ koyduğunu söylemedi. C++ ekledikten sonra –

+2

@ BЈовић çalışır. Bu durumlarda, kullanacağınız belirli bir derleyici bayrağının belgelerini okumalısınız. -x', dili argümanı olarak gerektirecek şekilde belgelenmiştir. –

+0

@ H2CO3 Hata mesajı (dil sağlamazsanız) hiç yardımcı olmuyor. Ayrıca, ´-´ sonunda olmalı. G + + belgelerinde –

2

Bunu denedin mi deneyin:

+0

duh ... gibi ayrıntıları bulmaya çalışın. +1 devnull :) – Shlublu

İlgili konular