GVKun编程网logo

Python 编译成.so 文件后调用(python编译为so)

1

在本文中,您将会了解到关于Python编译成.so文件后调用的新资讯,同时我们还将为您解释python编译为so的相关在本文中,我们将带你探索Python编译成.so文件后调用的奥秘,分析python

在本文中,您将会了解到关于Python 编译成.so 文件后调用的新资讯,同时我们还将为您解释python编译为so的相关在本文中,我们将带你探索Python 编译成.so 文件后调用的奥秘,分析python编译为so的特点,并给出一些关于Android Studio Library 编译成 jar,aar、ASP 通过 VB 编译成 DLL,类间调用 onstarpage 不执行的解决方法、Bamcompile —— PHP 编译成 EXE、CoffeeScript 2.0.0 正式发布,编译成 JS 的小巧语言的实用技巧。

本文目录一览:

Python 编译成.so 文件后调用(python编译为so)

Python 编译成.so 文件后调用(python编译为so)

1. 环境准备

      思路是先将 py 转换为 c 代码,然后编译 c 为 so 文件,所以要安装以下内容:

      pip install cython

      sudo apt-get install python-devel

      sudo apt-get install gcc

2. 编写测试程序,如下:

       新建 Test.py 文件,内容如下:

class test:
    
    def __init__(self):
        print(''init'')

    def say(self):
        print (''hello'')

     新建 setup.py 文件,内容如下:

from distutils.core import setup
from Cython.Build import cythonize

setup(ext_modules = cythonize(["Test.py"]))

3. 编译成.so 文件

python setup.py build_ext

     在当前文件夹下会生成 build/,可调用的 so 文件。

4. 调用示例

 

参考:参考博客

Android Studio Library 编译成 jar,aar

Android Studio Library 编译成 jar,aar

1. 导入Library ,打开Library 的build gradle  在最外面添加如下:

/** AVLView 自定义的jar 包名 **/
task clearJar(type: Delete) {
    delete ''build/libs/AVLView.jar''
    delete ''libs/AVLView.jar''
}



task makeJar(type:org.gradle.api.tasks.bundling.Jar) {
    delete(''build/libs/AVLView.jar'')
    baseName ''AVLView''
    /***打包class 文件的路径 **/
    from(''build/intermediates/classes/release/'')
    into(''build/libs'')
    include(''classes.jar'')
    rename(''classes.jar'',''AVLView.jar'')
}

makeJar.dependsOn(clearJar, build)



完整文件:

 

apply plugin: ''com.android.library''

android {
    compileSdkVersion 23
    buildToolsVersion ''27.0.3''

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 33
        versionName "2.1.3"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile(''proguard-android.txt''), ''proguard-rules.pro''
        }
    }



}



/** AVLView 自定义的jar 包名 **/
task clearJar(type: Delete) {
    delete ''build/libs/AVLView.jar''
    delete ''libs/AVLView.jar''
}



task makeJar(type:org.gradle.api.tasks.bundling.Jar) {
    delete(''build/libs/AVLView.jar'')
    baseName ''AVLView''
    /***打包class 文件的路径 **/
    from(''build/intermediates/classes/release/'')
    into(''build/libs'')
    include(''classes.jar'')
    rename(''classes.jar'',''AVLView.jar'')
}

makeJar.dependsOn(clearJar, build)

 

  

 

2. 在Terminal 命令行 输入: gradlew makeJar 等待Build Successful 。

 

3. 如图 jar aar 

 

ASP 通过 VB 编译成 DLL,类间调用 onstarpage 不执行的解决方法

ASP 通过 VB 编译成 DLL,类间调用 onstarpage 不执行的解决方法

 asp 通过 vb 被编译成 dll,asp 通过 server.create ("你的工程。你的类") 方式调用,调用时会先执行 onstartpage, 但是如果 dll 的一个类需要调用另外一个类时需要通过 dim 变量 as new 你的类,此时并不会执行 onstartpage , 类初始化的时候会执行另外一个过程 Class_Initialize。

我们需要引入 ASP Type Library 和 the COM+ Services Type Library

假设我们工程名叫 comtest, 类叫 hellowold

Private objContext As COMSVCSLib.ObjectContext ''引入com+库
Private Response As Response
Private Request As Request
Private Session As Session
Private Application As Application
Private Server As Server
Private goaler  As Scripting.Dictionary
Private conn As Connection
Private Sub Class_Initialize() ''类初始化new时执行
Set objContext = GetObjectContext()
Set Response = objContext("Response") '' Obtain ASP Response object
Set Request = objContext("Request") '' Obtain ASP Request object
Set Session = objContext("Session") '' Obtain ASP Session object
Set Application = objContext("Application") '' Obtain ASP Application object
Set Server = objContext("Server") '' Obtain ASP Server object
Set conn = New Connection
End Sub
Private Sub Class_Terminate() ''类销毁是执行
''----- Release object variables
Set ObjectContext = Nothing
Set Request = Nothing
Set Response = Nothing
Set Session = Nothing
Set Application = Nothing
Set Server = Nothing
Set conn = Nothing
End Sub
Public Sub SayHello
Response.write("Hello !")
End Sub

这样的的话我们可以直接在 asp 页面里这样执行

 

set ts=server.createobject("comtest.text")
ts.SayHello
set ts=nothing


也可以在另一个类中这样执行

dim ts as new test
ts.SayHello


原文链接: http://blog.csdn.net/vince6799/article/details/7010729

Bamcompile —— PHP 编译成 EXE

Bamcompile —— PHP 编译成 EXE

Bambalam PHP-EXE 编译器/嵌入器是一个免费的命令行工具,用于将 PHP 应用程序转换为独立的 Windows .exe 应用程序。

CoffeeScript 2.0.0 正式发布,编译成 JS 的小巧语言

CoffeeScript 2.0.0 正式发布,编译成 JS 的小巧语言

在经过 5 个测试版后,CoffeeScript 2.0.0 正式发布了。

从 CoffeeScript 1.x 到 2 的变化不多,大部分项目都能顺利升级。CoffeeScript 2 最大的变化是,CoffeeScript 编译器会生成现代 JavaScript 语法( ES6 或 ES2015 及以上版本)。一个 CoffeeScript =>会变成一个 JS => ,一个 CoffeeScript 类会变成一个 JS 类,等等。此外, CoffeeScript 2 中的新特性还包括异步功能和 JSX 。

可以在发行公告中查阅更多内容。

下载地址:

  • Source code (zip)

  • Source code (tar.gz)

CoffeeScript 是一门编译成 JavaScript 的小巧语言。在 Java 般笨拙的外表下,JavaScript 其实有着一颗华丽的心脏。CoffeeScript 尝试用简洁的方式展示 JavaScript 优秀的部分。

CoffeeScript 的指导原则是:"她仅仅是 JavaScript"。代码一一对应地编译到 JS,不会在编译过程中进行解释。已有的 JavaScript 类库可以无缝地和 CoffeeScript 搭配使用,反之亦然。编译后的代码是可读的,且经过美化,能在所有 JavaScript 环境中运行,并且应该和对应手写的 JavaScript 一样快或者更快。

今天的关于Python 编译成.so 文件后调用python编译为so的分享已经结束,谢谢您的关注,如果想了解更多关于Android Studio Library 编译成 jar,aar、ASP 通过 VB 编译成 DLL,类间调用 onstarpage 不执行的解决方法、Bamcompile —— PHP 编译成 EXE、CoffeeScript 2.0.0 正式发布,编译成 JS 的小巧语言的相关知识,请在本站进行查询。

本文标签: