C/C++
WaveWaveGo
这个作者很懒,什么都没留下…
展开
-
linux复制文件描述符
方法:1. 调用 dup(fd); 等效于fcnt1(fd, F_DUPFD, 0);2. 调用 dup2(fd, fd2);等效于close(fd2)fcnt1(fd, F_DUPFD, fd2);在第二种情况下,dup2并不完全等同于close加上fcnt1, 区别如下:(1)dup2 是一个原子操作, 而close 和 fcnt1 包括两个函数调用。 有可能在 close...原创 2019-04-13 16:52:38 · 325 阅读 · 0 评论 -
c/c++导出动态库
跨平台定义,windows平台需要引入头文件#include <sdkddkver.h>//windows 平台必须定义头文件#include <Windows.h>示例代码:add.h#ifndef _ADD_H_#define _ADD_H_#ifdef _WIN64#include <sdkddkver.h>//windows 平台必须定...原创 2019-04-13 21:03:07 · 2347 阅读 · 0 评论 -
c/c++导出动态库Makefile
示例$(CXX) = g++$(CC) = gccCOMPILE_FLAGS := -fPIC -O2 -Wall -Wextra -sharedINCLUDES := -I.OBJECTS := *.oSRC_kgsl := ./kgsrc/# .PHONY: default_target# default_target: releaseobjects = Test_Enc...原创 2019-04-13 21:17:44 · 345 阅读 · 0 评论 -
__main__.PyInstallerImportError: Failed to load dynlib/dll
windows Pyinstaller 打包python程序,执行出现error:main_.PyInstallerImportError: Failed to load dynlib/dll:错误信息如下:解决方案在用vs编译动态库时,在属性–>连接器–>输入–>附加依赖项中添加下面四个静态库,重新编译动态库:msvcrt.libmsvcmrt.libcrypt3...原创 2019-04-30 11:09:03 · 7541 阅读 · 14 评论 -
Python调用C动态库,出现段错误Segmentation fault (core dumped)
可能原因:未指定被调用接口参数类型尝试解决方案:调用C API: int add(int a, int b)在python代码中指定被调用接口参数类型, 返回值类型#指定调用接口的参数类型列表api.add.argtypes = [c_int, c_int]#指定调用接口的返回值类型api.add.restype = c_int...原创 2019-06-10 12:44:23 · 3653 阅读 · 0 评论