自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 资源 (1)
  • 收藏
  • 关注

原创 Manacher算法,别称马拉车

Manacher算法,别称马拉车题目:怎么找出一个字符串中回文的最长大小代码算法解读算法其他题目:怎么找出一个字符串中回文的最长大小ABAKK 最长回文为ABA,长度为3;abaaab最长回文为baaab,长度为5代码int len = str.length();char* char_list = new char[len*2 + 1];int * num_list = new int[len*2+1];char_list[0] = '$';int index = 0;for(int i=

2021-01-30 15:35:54 184

原创 insightface遇到的坑

1、Compile with USE_CUDA=1 to enable GPU usage【原因】安装的是cpu版的mxnet,不是gpu版的;【解决方法】 卸载cup版mxnet,如果使用的cuda-9,则pip install mxnet-cu90; 使用了cuda-10则pip install mxnet-cu1002、CUDA: invalid device ordinal【原因】...

2019-06-30 14:25:28 2646

原创 python封装C++接口

开源项目pybind11项目主要功能是将C++代码封装为Python接口,与boost.python类似,但比它小很多1、下载pybind11https://github.com/pybind/pybind11.git2、安装pybind11pip install pybind11-master3、编写接口example.cppint add(int i,int j){ retu...

2019-06-19 20:30:02 2013

原创 Android studio、Cordova生成Apk问题合集及解决方法

1、CordovaClientCertRequest.java:25: 错误: 找不到符合 解决办法: 安装android sdk 21 2、找不到符号android.support.v4.content.FileProvider File -> Project Struct -> (相应应用) -> Dependencies -> + support-v4 3、Uri.java:78:

2016-12-30 18:37:57 3756

原创 一个swig的配置文件实例

%module demo%{#include "Demo.h"%}%include "std_string.i"%include "std_vector.i"%include "cpointer.i"%include "carrays.i"%include "std_map.i"//%pointer_functions(int, intp);%pointer_class(int,

2016-08-09 14:11:54 2406

原创 SLIP 串行线路IP

SLIP的帧格式描述:IP数据报以一个称作END(0xc0)的特殊字符结束。同时,为了防止数据报到来前的噪声被当作数据报内容,大多数实现在数据报的开始出也传一个END字符。如果IP报文中某个字符为END,那么就要连续传输两个字节0xdb、0xdc来取代它。oxdb也称作为SLIP的ESC字符如果IP报文中某个字符为SLIP的ESC字符,则需要连续传输0Xdb、0xdd来取代它SLIP的缺陷:

2016-07-31 10:10:33 2267

原创 swig(Lua)对STL/C++ library的支持

1、std::string//demo.htd::string foo();void bar(const std::string &x);//demo.i%module demo%{#include "demo.h"%}%include "std_string.i"%include "demo.h"调用--test.luaa = demo.foo();demo.ba

2016-07-30 17:57:34 1643

原创 lua使用C++的指针、引用、值、数组

在使用C++进行Lua扩展时,C++中丰富的参数接受、处理方式包括指针、引用、值传递、数组等,会使人疑问,这种函数在Lua中该怎样调用。 一、指针、引用,假设是这样一个demo,代码如下//demo.hvoid foo(int & val);void foo1(int* val);这两个函数的实现留在demo.cpp中,主要为打印一些内容以区分彼此。他的.i文件如下//demo.i%modu

2016-07-30 15:47:38 6828

原创 Lua使用C++继承

简单的使用c++扩展lua的方法一:使用swig工具

2016-07-29 07:57:52 727

原创 =default,=delete

=default: 用于显式要求编译器提供合成版本的四大函数(构造、拷贝、析构、赋值) 例如:class A{public: A() = default; A(const A& a) = default; A& operator=(A&); ~A() = default;}我们只能对具有合成版本的成员函数使用=default;=delete,用于定义删除函数,在

2016-04-30 14:38:31 1901

原创 allocator类

allocator是一个模板类,它与new的区别在于:它分配的内存是原始的、未构造的。 例如:allocator<string> alloc;//创建allocator对象auto const p = alloc.allocate(n); // 为n个string分配内存auto q = p;alloc.construct(q++);// 初始化p(第一个string)为空字符串alloc

2016-04-30 13:15:14 380

转载 VS2010中编译openssl的步骤和使用设置

一.VS2010中编译openssl的步骤版本号:openssl-1.0.1e (之前在VS2010种编译0.98版本的没有通过,但在VS2005中曾经编译成功)1.下载 OpenSSL http://www.openssl.org/,并解压到d:\openssl-1.0.1e目录(也可自己指定路径和目录名称)2.下载 from http://www.activestate

2016-03-22 09:14:57 680

转载 文件的存取

7.2.1 逻辑设备和文件a)    逻辑设备在Fortran中对文件和外部设备的操作都是通过逻辑设备进行的。在对文件和外部设备进行操作之前,都要把它们连接到逻辑设备上。内部文件的设备描述符和外部文件的设备描述符是不同的:内部文件用一个字符变量或其它变量名来描述,外部文件用OPEN语句打开文件时的数字(单元号)作为文件的描述,或是用默认的设备单元号包括星号(*)作为文件的描述。对于一个

2015-08-06 17:03:38 823

转载 空指针nullptr

空指针不指向任何对象,在使用前可以检查是否为空。 几种生成空指针的方法:int *p1 = nullptr; int *p2 = 0;int *p3 = NULL;其中nullptr是c++11中引入的特殊类型字面值,它可以被转换成任何其他的指针类型。 NULL就是0,在预处理中,会直接使用0替换掉,在新标准下最好使用nullptr,如:auto *pi = nullptr;*pi = 1

2015-07-31 11:42:53 744

转载 列表初始化

1、什么是描述符? 可以将描述符理解为对象属性的一个代理,它可以是任何类。其代理可以通过__get__(),__set__(), __delete__()三个特殊方法起作用。 2、什么是非数据描述符、什么是数据描述符? 非数据描述符没有实现__set__()方法,也称为方法描述符;而同时实现__set__(),__get__()方法的描述符称为数据描述符,如:class DevNull(ob

2015-07-31 09:59:10 366

转载 新式类的高级特性<1>

1、__slots__类属性 __dict__属性跟踪所有的实例属性,但其会占据大量内存。如果一个类的属性数量较少,且不会 动态添加属性,我们可以使用__slots__代替__dict__,例子:class SlottedClass(object): __slots__=('foo','bar')c = SlottedClass()c.foo = 42

2015-07-21 08:25:48 417

原创 python的私有化

1、双下划线(__) 由双下划线开始的属性在运行时被混淆,所以直接访问是不允许的。实际上以双下划线开始的属性 会在解释时在前面加上下划线和类名,如self.__num会被解析为self._className__num, 2、单下划线(_) 简单的模块级私有化只需要在属性名前使用一个单下划线字符。这可以防止模块的属性被 from mymodule import

2015-07-20 15:45:04 1510

转载 面向对象编程---函数

1、在python的面向对象编程中,经常需要在类中创建静态方法staticmethod()或者 类方法classmethod(),如:class TestMethod: def foo(): print 'calling static method foo()' foo = staticmethod(foo) def bar(): print

2015-07-20 14:22:28 334

原创 函数调用参数列表---元组、字典

在python中通过一个元组或字典作为参数组传递给函数时,其传入的参数的个数是任意的。 1、基本形式func(*tuple_grp_nonkw_args,**dict_grp_kw_args)感觉有点像c语言中的指针变量,其中tuple_grp_nonkw_args是元组形式的非关键字参数组,而 dict_grp_kw_args则是装有关键字参数的字典。 2、使用def func(*tuple

2015-07-17 14:44:56 1272

原创 迭代器和iter()函数

1、先来个例子,有个初步的印象:myTuple=(123,'xyz',45.67)i=iter(myTuple)i.next()123i.next()'xyz'i.next()45.67i.next()Traceback (most recent call last):File "", line 1, in?StopIteration上面的代码中通过iter()函数显式的使用了

2015-07-17 14:20:25 2856

原创 出乎意料的else语句

在python中你可能时不时不碰到else语句用在while和for循环中,请不要惊讶,先看看它的作用吧! 实际上在循环语句中,else子句只会在循环完成后执行,即跳出循环的操作,如break,同时也会跳过 else块。 下面是一个来自python核心编程的例子def showMaxFactor(num): count = num/2 while count > 1:

2015-07-17 13:54:11 549

原创 深拷贝、浅拷贝

(内容大多来自python核心编程) 创建一个python对象然后把它赋给另一个变量时,python仅仅是拷贝了这个对象的引用。 序列类型(字符串、列表和元组)的默认拷贝类型是浅拷贝,具体的施行方式有三种: 1、完全切片操作[:];2、利用 工厂函数,比如list(),dict()3、使用copy模块的copy函数person=['name',['savings',100.00]]hubby

2015-07-17 11:44:03 662

翻译 python多线程编程----threading模块

1、threading 模块中的内容 - Thread: 一个可执行线程对象 - Lock: 原始的Lock对象 与thread模块中一样 - RLock: 允许单个线程多次请求的Lock - Condition: 线程等待直到条件满足 - Event : 事件发生时,唤醒所有等待进程 - Semaphore:信号量,标

2015-06-23 14:14:36 1336

翻译 python的多线程编程 --- thread模块

1、使用thread模块(不推荐) 常用函数: ‘start_new_thread(function,args,kwargs=None)’:创建一个新的线程,并运行’function(args)’ ‘allocate_lock()’: 创建锁对象 Lock object ‘exit()’: 提示线程退出 Lock的函数: ‘acquire(wait=None)’: 获取lock对象或等待

2015-06-23 12:07:38 1487

原创 fortran 函数的调用标准

Fortran函数的调用标准在编译时使用iface声明,如iface:default,表示采用的是default标准。 fortran的调用标准有 [1] default: Tells the compiler to use the default calling conventions. [2] cref: Tells the compiler to use cal

2015-06-23 11:38:00 4263

转载 Python---很强悍的property,绝对的强大

转自:http://www.cnblogs.com/lovemo1314/archive/2011/05/03/2035600.html 假设定义了一个类:C,该类必须继承自object类,有一私有变量_x class C:  def init(self):   self.__x=None   1.现在介绍第一种使用属性的方法:   在该类中定义三个函数,分别用作赋值、取值和删除

2015-05-14 12:00:09 735

原创 apache2多端口设置

apache的配置文件我所知的有:httpd.conf 或 (000-default.conf 、port.conf): 知道这些修改就很简单了。 注意:添加新的端口号后需要打开防火墙,我使用的是ubuntu系统,防火墙是ufw,大部分 的linux都使用iptable防火墙 sudo ufw allow 端口号

2015-05-11 10:10:35 1531

原创 设计模式 (python) ---> Singleton

代码:class Singleton(object): _inst = None def new(cls): if cls._inst is None: inst = object.new(cls)

2015-04-29 10:27:36 653

原创 c中获取python的异常的traceback

1、如果是一般的控制台程序,可以使用PyErr_Print();错误信息会直接打印到控制台上 2、如果不是控制台程序,则需要使用PyErr_Fetch(PyObject**,PyObject**,PyObject**,PyObject**) 下面是代码实例:(来自Stack Overflow) char* full_backtrace; // 保存tracebac

2015-04-28 15:37:55 2879

原创 python django

1、django install : python setup.py install 测试: import django 2、创建项目 django-admin.py startproject project_name 3、修改设置 vim setting.py,可以设置database,时区,默认语言, 添加模块installed_apps –>’bl

2015-04-18 19:13:17 661

原创 Ruby Block

1、用于迭代器之后 Ruby的迭代器与其他语言的迭代器很不相同,它的迭代器一般都是函数,如: def three_times yield yield yield end 使用实例: three_times { puts “hello”} Ruby内置了一些迭代器如find,eac

2015-04-11 18:48:40 762

原创 ruby 类、对象、变量

7、类Class (1)initialize 方法 ,initialize是一个特殊方法,默认为私有,在调用new创建一个 新对象时,Ruby首先分配一些内存来保存未初始化的对象,然后调用对象的 initialize方法, (2)inspect方法 默认将对象的ID和实例变量格式化 (3)Ruby的类永远都不是封闭的,意味着可以向一个已有的类中添加方法,包括内

2015-04-11 14:10:56 857

原创 文章标题

1、字符串 ruby中的字符串可以使用单引号,也可以使用双引号,但对单引号的支持比较少,对双引号的支持介绍两个: (1)支持转义字符 比如: \n等 (2)字符串内的表达式内插,#{表达式} 例如:def say_goodnight(name) Result = “Good night, #{name}” end 2、数组 a = [ 1 , ‘cat’ , 3.14] b =

2015-04-10 16:21:31 548

原创 ruby gem 代理设置

可能是国家防火墙的原因包,安装railsinstaller后执行总是出错, bundle install DL is deprecated, please use Fiddle Fetching gem metadata from https://rubygems.org/………. Resolving dependencies…Gem::RemoteFetcher::Fetc

2015-04-09 11:28:13 2731

转载 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2015-04-09 11:11:39 397

原创 ruby rails 重写activerecord::Base 的字段属性

在ruby rails中如果你想要保存一个属性(或读取一个属性),同时希望在保存属性(或读取一个属性)时做一些其他的操作可以使用重写该属性的设置器或读取器的方法。比如一个Models的表中有一个叫name的字段,希望对name进行操作方法一、class Model < ActiveRecord::Baseattr_accessible :namedef name=(value)

2015-04-03 11:10:07 1452

原创 python 内置函数getattr

在工作中遇到这个函数,没想起来再哪碰到过,一找让我惊讶啦,这个函数好强大。下面简单介绍一起其用法。1、获取类变量class A: a = 1getattr(A,'a') == 12、 获取类函数class B: def funb(): print 'abc'getattr(B,'funb')>'abc'3、貌似还可以实现工厂模式(例子来自网上,没验证

2015-03-19 16:56:12 1336

原创 python 读取配置文件的值

上例子:假设配置文件如下,文件名为test.cfg#------------------------------------#abcdefgabc = 1#-----------------------------------------其中的#号后面的部分都是注释读入该文件的python代码为:from types import ModuleType

2015-03-16 11:03:42 917

原创 python optparser模块

optparser模块的作用是用于命令行参数处理先给个简单的例子:from optparse import optionParserparser = OptionParser(usage="usage: yourscript %prog [options] [install | test]",version=" 0.0.1")parser.add_option("--prefix",d

2015-03-16 10:25:40 693

原创 python 版本

获取python的版本号import syspython_version = '.'.join([str(n) for n in sys.version_info[:3]])

2015-03-16 10:03:18 500

libxml2.lib

Libxml2 is the XML C parser and toolkit developed for the Gnome project (but usable outside of the Gnome platform), it is free software available under the MIT License. XML itself is a metalanguage to design markup languages, i.e. text language where semantic and structure are added to the content using extra "markup" information enclosed between angle brackets. HTML is the most well-known markup language. Though the library is written in C a variety of language bindings make it available in other environments.

2013-12-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除