Cython編譯python為so 代碼加密示例
1. 編譯出來的so比網(wǎng)上流傳的其他方法小很多。
2. language_level 是python的主版本號(hào),如果python版本是2.x,目前的版本Cython需要人工指定language_level.
3. python setup.py build_ext --inplace 執(zhí)行腳本
4. 以下是代碼片段
from distutils.core import Extension, setup from Cython.Build import cythonize from Cython.Compiler import Options # __file__ 含有魔術(shù)變量的應(yīng)當(dāng)排除,Cython雖有個(gè)編譯參數(shù),但只能設(shè)置靜態(tài)。 exclude_so = ['__init__.py', "mixins.py"] sources = ['core', 'libs'] extensions = [] for source in sources: for dirpath, foldernames, filenames in os.walk(source): for filename in filter(lambda x: re.match(r'.*[.]py$', x), filenames): file_path = os.path.join(dirpath, filename) if filename not in exclude_so: extensions.append( Extension(file_path[:-3].replace('/', '.'), [file_path], extra_compile_args = ["-Os", "-g0"], extra_link_args = ["-Wl,--strip-all"])) Options.docstrings = False compiler_directives = {'optimize.unpack_method_calls': False} setup( # cythonize的exclude全路徑匹配,不靈活,不如在上一步排除。 ext_modules = cythonize(extensions, exclude = None, nthreads = 20, quiet = True, build_dir = './build', language_level = 2 或者3 , compiler_directives = compiler_directives))
以上這篇Cython編譯python為so 代碼加密示例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決pip安裝報(bào)錯(cuò)required?to?install?pyproject.toml-based?projec
這篇文章主要介紹了解決pip安裝報(bào)錯(cuò)required?to?install?pyproject.toml-based?projects問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05Django獲取model中的字段名和字段的verbose_name方式
這篇文章主要介紹了Django獲取model中的字段名和字段的verbose_name方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05用Python簡(jiǎn)單實(shí)現(xiàn)個(gè)貪吃蛇小游戲(保姆級(jí)教程)
本文基于Windows環(huán)境開發(fā),適合Python新手,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們很有幫助,需要的朋友可以參考下2021-06-06Python 40行代碼實(shí)現(xiàn)人臉識(shí)別功能
很多人都認(rèn)為人臉識(shí)別是一項(xiàng)非常難以實(shí)現(xiàn)的工作,看到名字就害怕,然后心懷忐忑到網(wǎng)上一搜,看到網(wǎng)上N頁的教程立馬就放棄了。其實(shí)如果你不是非要深究其中的原理,只是要實(shí)現(xiàn)這一工作的話,人臉識(shí)別也沒那么難。今天我們就來看看如何在40行代碼以內(nèi)簡(jiǎn)單地實(shí)現(xiàn)人臉識(shí)別。2017-04-04python自動(dòng)化辦公操作PPT的實(shí)現(xiàn)
這篇文章主要介紹了python自動(dòng)化辦公操作PPT的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02