小编M-G*_*ire的帖子

释放一个等于 malloc 指针的指针

我无法理解一些 free() 行为。

int* ptr1 = (int*)malloc(sizeof (int)*10);
int* ptr2 = ptr1;
free(ptr2);
Run Code Online (Sandbox Code Playgroud)

是否free(ptr2)要按我的意愿删除我的数组?

如果我这样做怎么办:

int** ptr1 = (int**)malloc(sizeof (int)*10);
int* ptr2 = (int*)malloc(sizeof (int));
*ptr2 = 10;
ptr1[0] = ptr2;
free(ptr1);
Run Code Online (Sandbox Code Playgroud)

这段代码正确吗?会free(ptr1)也将删除PTR2的空间?

谢谢

c

4
推荐指数
2
解决办法
3539
查看次数

在 pip install 上编译 C 库

我制作了一个需要执行 C 函数的 Python 应用程序。为此,我使用 gcc 在共享库中编译了 C 函数,并使用 ctypes 在我的 Python 脚本中调用了该库。

我正在尝试将我的应用程序打包到 pip 包中,但发现无法在 pip 安装时创建共享库。

我尝试了以下(setup.py):

from setuptools import setup
from setuptools.command.install import install
import subprocess

class compileLibrary(install):
    def run(self):
        install.run(self)
        command = "cd packageName"
        command += " && git clone https://mygit.com/myAwesomeCLibrary.git"
        command += " && gcc -my -many -options"
    process = subprocess.Popen(command, shell=True)
    process.wait()

setup(
    name='packageName',
    version='0.1',
    packages=['packageName'],
    install_requires=[
        ...
    ],
cmdclass={'install': compileLibrary},
Run Code Online (Sandbox Code Playgroud)

)

这在执行python setup.py install时有效,但是从 pip 安装时,当安装过程成功时,共享库不在包文件夹 ( pythonx.x/site-packages/packageName) 中。

我尝试使用 …

python ctypes pip

3
推荐指数
1
解决办法
3725
查看次数

使用静态私有属性

我无法理解类中私有静态属性的使用:

- > private意味着如果我是正确的,那么属性只能从类本身访问

- > static表示属性属于类本身而不是对象,如果我仍然正确,则允许访问它而不创建对象

所以,我无法想象任何私有静态属性的使用.

在此先感谢任何帮助:)

剑心

c++

0
推荐指数
1
解决办法
499
查看次数

标签 统计

c ×1

c++ ×1

ctypes ×1

pip ×1

python ×1