Где находится точка входа кода C, генерируемого pypy - PullRequest
2 голосов
/ 16 ноября 2010

Я использую PyPy для перевода кода Python в C-код. Я написал очень простой скрипт, как показано ниже:

def main():
    print "hello world!"

def entry_point(argv):
    main()
    return 0

def target(*args):
    return entry_point, None

Тогда я использовал translate.py --source test.py. Это действительно сгенерировало код C успешно. Когда я make этот код, он генерирует исполняемый файл test-c. Однако я не могу найти основную функцию в этом коде, используя grep, поэтому мне интересно, где находится точка входа кода, генерируемого pypy. Спасибо за ваше чтение.

Ответы [ 2 ]

2 голосов
/ 16 ноября 2010

это неправильно. Grep для pypy_g_entry_point. Функция main (), вероятно, будет встроена в этом примере, поэтому вы ее не получите. Если вы хотите, чтобы он отображался, используйте --inline-threshold = 0 в качестве параметра перевода.

1 голос
/ 16 ноября 2010

PyPy, вероятно, не дает вам "основной" функции, потому что у вас на самом деле нет точки входа в ваш код Python. Вы, вероятно, должны просто добавить

main()

в конце файла.

...