Czy kod C++ jest kompilowany do kodu zespołu? Jeśli mamy kod C++, czy będziemy mogli uzyskać kod zespołu?Czy kod C++ kompiluje się do kodów zespołów?
Odpowiedz
Twój kod musi być zrozumiały dla maszyny, a ponieważ nie jest interpretowany ani uruchomiony w maszynie wirtualnej, jest najpierw przekształcany w zespole. Możesz uzyskać ten kod assemblera przy użyciu flagi -S
w opcjach kompilacji g ++ (o ile oczywiście używasz g ++).
g++ -S -o file.s file.cpp
powinien załatwić sprawę.
To zależy od kompilatora. Nie ma prawdziwych reguł, do których C++ się kompiluje, z wyjątkiem tego, że w pewnym momencie powinien działać na komputerze. Większość kompilatorów ma przełącznik do kompilacji do montażu.
Za pomocą gcc można dodać -S, aby skompilować plik .asm.
Dla visual studio zobaczyć http://codegem.org/2008/10/generate-assembly-from-c-code-in-visual-studio
Zdecydowana większość kompilatory C++ przekonwertuje ++ źródło C do plików obiektowych (kod maszynowy z wystarczającą ilością informacji sterującej być połączone do pliku wykonywalnego). Na przykład, musisz zrobić tak, aby uzyskać gcc
, aby wygenerować kod zespołu (źródło ASM) przy użyciu flagi -s
. Normalnie nigdy nie zobaczysz zespołu.
Ale standard C++ nie wymaga ostatecznego formularza, który jest wyprowadzany z kompilatora, tylko że kod musi zachowywać się w określony sposób po uruchomieniu.
W rzeczywistości najwcześniejsze kompilatory C++ faktycznie wygenerowały kod źródłowy C, a następnie skompilowały go.
Twój kompilator C++ może generować kod obiektowy, kod bajtowy Java, a nawet GWBASIC, jeśli czujesz się masochistycznie.
- 1. Dlaczego ten kod Haskella się kompiluje?
- 2. Vala (język podobny do C#) kompiluje się do C?
- 3. Czy Scala.js się nie kompiluje?
- 4. pakietu Java vs C# zespołów
- 5. Dlaczego ten kod nie kompiluje się w g ++
- 6. Czy istnieje: Powtarzający się wyszukiwarka kodów?
- 7. Dlaczego C# kompiluje się znacznie szybciej niż C++?
- 8. Dlaczego i jak ten kod Java się kompiluje?
- 9. Lista kodów krajów - C#
- 10. Jak odwoływać się do zespołów za pomocą kodu Visual Studio?
- 11. A() = A() - dlaczego się kompiluje?
- 12. Dlaczego to się kompiluje?
- 13. Eclipse sygnalizuje błąd, ale kod kompiluje
- 14. Dlaczego ten kod C# nie kompiluje się podczas używania nazwanych parametrów?
- 15. Dlaczego/jak to się kompiluje?
- 16. Dlaczego ten program C kompiluje się bez błędu?
- 17. android takePersistableUriPermission nie kompiluje się
- 18. c preprocesor - nie działa, jeśli kompiluje się po określonej dacie
- 19. C++ 11 make_par z określonymi parametrami szablonu nie kompiluje się
- 20. C++ const std :: map reference nie kompiluje się
- 21. Czy mogę zrobić tak, aby fanfara grała, gdy mój kod kompiluje się w Eclipse (Java)?
- 22. Czy ktoś wie o bibliotece kodów QR C/C++ Unix?
- 23. Java: dlaczego to się nie kompiluje?
- 24. Dlaczego `++ a ++` nie kompiluje się w C++, ale `(++ a) ++` ma?
- 25. Jak wprowadzić nullptr do analizatora kodów CDT?
- 26. Rozpocznij debugowanie F5 nie kompiluje się automatycznie
- 27. Wtyczka Jenkins powershell zawsze kompiluje się pomyślnie
- 28. Odbicie z T4 zespołów get
- 29. Nie znaleziono odwołania do zespołu w XAML, ale kod kompiluje się, gdy odwołuje się do klasy xaml.cs
- 30. Projekt Javafx nie kompiluje się z maven
Bardzo pouczające, tylko pytanie, jak skompilować kod C++ do kodu bajtowego Java? –
Cóż, aby to zrobić, musisz napisać kompilator. Przykro mi, nie chciałem jednak sugerować, że są tam kompilatory, tylko że to możliwe i zgodne ze standardami, aby je napisać. – paxdiablo
MSVC może kompilować do MSIL, który jest koncepcyjnie podobny do bajtów Java. – MSalters