Скрипт Python для генерации ассемблерного кода из кода C и сохранения в выходной файл

Вот скрипт на Python, который генерирует ассемблерный код программы на C и сохраняет его в выходной файл:

import subprocess
def generate_assembly_code(c_code, output_file):
    # Save the C code to a temporary file
    c_file = "temp.c"
    with open(c_file, "w") as file:
        file.write(c_code)
    # Generate the assembly code using gcc
    subprocess.run(["gcc", "-S", c_file])
    # Rename the assembly file and move it to the output directory
    assembly_file = "temp.s"
    subprocess.run(["mv", assembly_file, output_file])
    # Clean up temporary files
    subprocess.run(["rm", c_file])
# Example usage
c_code = '''
#include <stdio.h>
int main() {
    printf("Hello, World!");
    return 0;
}
'''
output_file = "output.s"
generate_assembly_code(c_code, output_file)

Этот сценарий использует компилятор gccдля генерации ассемблерного кода. Он записывает код C во временный файл, компилирует его с помощью gcc -Sдля генерации кода сборки, переименовывает файл сборки и сохраняет его в указанном выходном файле. Наконец, он очищает временные файлы.

Обратите внимание, что для выполнения этого сценария в вашей системе должен быть установлен GCC (коллекция компиляторов GNU).