Я знаю, что существуют различия в исходном коде между программами на C и C++ - это не, о чем я прошу.Разница между исполняемыми файлами C и C++?
Я также знаю, что это зависит от процессора и процессора и ОС от ОС, в зависимости от компилятора.
Я учу себя C++, и я видел многочисленные ссылки на библиотеки, которые могут использоваться обоими языками. Это заставило меня задуматься - существуют ли существенные различия между бинарными исполняемыми файлами двух языков?
Для того чтобы библиотеки были легко использованы обоими, я бы подумал, что они должны быть похожими на исполняемом уровне.
Есть ли много ситуаций, когда человек может исследовать исполняемый файл и указать, был ли он создан исходным кодом C или C++? Или бы двоичные файлы были довольно похожими?
Что вы действительно хотите задать, так это то, как функции (и в целом * символы *) экспортируются компиляторами любого языка ... –
@Tango: нет никакой реальной разницы между двоичными файлами; они оба являются внутренним кодом, сохраненным в том же формате. – Mehrdad
Исполняемый файл не имеет ничего общего с языком, который использовался для его создания. Если у вас было две программы, одна на C, а другая на C++, то и то и другое делалось точно так же, нет причин, по которым их исполняемые файлы не могли быть точно такими же. Однако компиляторы, как правило, оставляют все, что делает исполняемый файл идентифицируемым, поскольку он написан на определенном языке, но это совсем не обязательно. –