自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

翠屏阿姨

新的开始哦:-)

  • 博客(95)
  • 资源 (12)
  • 收藏
  • 关注

原创 用#include的文件中的内容给变量赋值

/*** * data.h*/{1, 1},{2, 2},{3, 3},/*** * main.c*/#include <stdio>struct Data { int a; int b;};static g_array[] = {#include "data.h"};int main(int argc, char ** argv){ in...

2019-09-27 10:37:58 882 2

转载 shell脚本函数的用法

#!/bin/bashdo_config() { echo "do_config"}do_make() { echo "do_make"}do_install() { echo "do_install"}print_usage() { echo "Usage: do_config, do_make, do_install"}case "$1" in "conf...

2019-07-22 13:46:31 279

原创 [代码片段] 字符串替换

void replace(string& orignStr, const string& oldStr, const string& newStr) { size_t pos = 0; string::size_type newStrLen = newStr.length(); string::size_type oldStrLen = oldStr...

2019-03-25 19:44:34 239

原创 [代码片段] 创建TCP套接字

#include <unistd.h>#include <stdlib.h>#include <stdio.h>#include <errno.h>#include <string.h>#include <sys/types.h>#include <sys/stat.h>#include <sy...

2019-03-25 19:24:30 253

原创 Ubuntu14.04 运行VNote 后话

在安装了dbus后,重启机器后发现启动停留在黑屏,无法进入桌面环境了,可急死人了。再次重启,这是按着Ctrl+Shift+F1 虽然可以进入ubuntu终端界面,不过ifconfig后发现,连不上网络了。百度了一些相关信息后,发现很多网友都遇到了更新dbus后与我一样的问题。此时想着,最近也就安装了dbus这个软件,先卸载把。在dbus的源码目录下执行:make uninstall顺利地...

2019-03-25 11:35:03 596

原创 Yocto 解题录:QA Issue: PN: lib-Test is upper case

Yocto默认将recipe生成rpm包,为了生成ipk包,可以做如下修改:将build/conf/local.conf中的PACKAGE_CLASSES ?= "package_ipk package_rpm"改成PACKAGE_CLASSES ?= "package_rpm"这就是告诉Yocto,优先生成ipk包,生不成ipk包,再生成rpm包之后,做个测试,尝试为recpie...

2019-03-21 20:23:50 806

原创 [代码片段] 打开文件读写

打开文件读int fd = open(pcm_file, O_RDONLY, 0)读文件static ssize_t safe_read(int fd, void *buf, size_t count) { ssize_t result = 0, res; while (count > 0) { if ((res = read(fd, buf, count)) == 0) ...

2019-03-21 19:51:10 121

原创 Ubuntu14.04 运行VNote

本机Ubuntu14.04 已经安装了Qt5.11使用如下命令clone vnote的源码git clonegit@github.com:tamlok/vnote.git --recursive // vnote使用了git submodule,使用--recursive选项clone所有submodulecd vnoteqmake // 生成Makefile文件make...

2019-03-21 11:38:46 1343

原创 Yocto 解题录:No rule to make target `clean'

话说遇到这个问题,是很困惑的,这clean任务怎么会报错呢。在把recipe写好后,执行:bitbake michaelmaeditor报以下错误:Log data follows:| DEBUG: Executing shell function do_configure| NOTE: make clean| make: *** No rule to make targe...

2019-03-19 20:22:42 4485

原创 Yocto 解题录:Unable to start bitbake server

今天尝试重新拿从github上面clone一份yoctoproject进行构建,执行以下步骤git clone git://git.yoctoproject.org/poky.git poky_newcd poky_newsource oe-init-build-envvim conf/local.conf 将下面变量前的“#”符号删除 DL_DIR ?= "$...

2019-03-18 20:05:11 18344 1

原创 libssh2库的接口设计模式

C语言的项目代码的架构设计很少有书籍介绍到,今天来谈论一下一个通用的软件代码架构模型。项目工程中有include目录和src目录。src目录中的所有文件最终会被生成一个so文件。在部署的时候将这个so文件和include目录中的所有h文件一起发布,这样,当用户程序包含了include目录中的文件后,就能使用其中的API函数了。接着,就以libssh2.h这个文件做说明。这个文件没有包含任何...

2019-03-17 12:17:34 760

原创 AS3.3 import AIDLMusicPlayer

未来工作要和AS打交道了。AS的版本是3.3,自己的系统是ubuntu 14.04 64,今天在此记下如何成功import一个github工程的日志。首先在自己的目录下执行git clone https://github.com/agxxxx/AIDLMusicPlayer.git这样,在执行的目录下会多出一个名叫AIDLMusicPlayer的目录,这个里面就是接下来要导入到A...

2019-03-13 21:10:23 160

转载 [代码片段]linux设置套接口非阻塞特性

void set_noblocking(int sock){ int opts = fcntl(sock, F_GETFL); if(opts &lt; 0) { perror("fcntl(sock, F_GETFL)"); exit(1); } opts = opts | O_NONBLOCK; if(fcntl...

2018-07-24 23:07:08 258

转载 输出重定向使用案例总结

假设两个文件 test.sh存在和test1.sh不存在ls test.sh test1.sh 1&gt;svc.txt 把正确输出重定向到文件svc.txtls test.sh test1.sh 1&gt;svc.txt 2&gt;err.txt 把正确输出重定向到文件svc.txt,把错误输出重定向到文件err.txtls test.sh test1.sh 2&gt;&amp...

2018-07-08 22:08:41 288

转载 关于临时变量的值的修改

#include &lt;iostream&gt;int A(){ return 1;}class B{public: int m;public: B() :m(0) { } B&amp; operator++() { ++(this-&gt;m); return *th...

2018-07-08 21:54:22 568

转载 windows cmd 设置颜色

windows cmd 设置颜色恢复到默认设置 直接键入color命令设置颜色 键入color 背景色前景色 背景色取值 颜色效果 前景色取值 颜色效果 0 黑色 8 灰色 1 蓝色 9 淡蓝色 2 绿色 A 浅绿色 3 浅绿色 B 淡浅绿色 4 红色 C 淡...

2018-06-26 22:48:06 2369

原创 if_else_switch_case写法

第一段#define FUNCTION_COOUNT 3#define UNDEFINED -1typedef struct { int nFunction_num; int (*pFun)(int* nInput,int* nOutput);}DISPATCH_ITEMS;DISPATCH_ITEMS sDispatcher[FUNCTION_COOUNT];

2018-01-24 21:11:36 228

原创 我感觉我要学GO之一

要学一下GO了,工作中要用到。第一步我不怎么关心语法啊什么的,我而是关心一个GO工程的目录结构是怎么样的。通过学习这篇文章《理解Golang包导入》,我大体初步了解了一个Go工程的基本结构。以下在windows下使用LiteIDE进行Go的开发与测试目录结构:G:\Go_project\pkgtest\----------------------pkg\------------

2017-10-06 16:27:37 387

原创 [cmake] 使用静态库archive文件

上一篇文章中,我们制作了一个archive文件,那接下来就是如何使用它了。首先来看一下程序的目录结构t2├── build├── CMakeLists.txt└── src ├── CMakeLists.txt └── main.c最外层的CMakeLists.txt中内容为CMAKE_MINIMUM_REQUIRED(VERSION 2.8)PROJECT(M

2017-07-16 21:25:33 1377

原创 [cmake] 制作一个静态库archive

学习cmake的原因:最近又捣鼓cmake了,源于浏览github的时候,发现很多项目都是必须由cmake安装,感觉是大势所趋啊。同时也接触了autotools,qmake,scons等其他的构建工作,不过感觉还是cmake简单,高效。因为,居然仅花了半天时间就成功的把项目由qmake切换到cmake了,还没有什么大错误,真是太神奇了。一开始看见cmake,很畏惧,因为cmake的语句好抽象,

2017-07-10 22:47:10 1375

原创 C和C++文件混合编译

一个项目中若同时存在.c文件和.cpp文件,该如何编译呢?首先,来看一下编译的一些小知识:1.gcc编译*.c/*.cpp文件依据各自的文件类型各自编译为C型目标文件和C++型目标文件2.g++编译*.c/*.cpp文件,都是编译为C++类型的目标文件3.在第2点基础上,使用g++时,不论是*.c还是*.cpp都将链接std c++库。而gcc是一句各自文件类型链接相应的std c

2017-06-07 23:52:24 76598 5

原创 linux动态库so的运用

so文件的运用在C和C++变成中运用的非常广泛,以下博文是我的使用心得。一.so的静态加载在gcc(或者g++)中使用-l 参数在编译器加载so文件。这样的使用场景,应用程序必须要有于so一同发布的h文件,因为h文件就是so的一个符号列表索引,没有了这个h文件,从何谈起调用so中的函数。二.so的动态加载使用dlsym等函数在应用程序运行时加载so文件。由于dlsym等系列

2017-06-06 22:40:36 589

原创 dup和dup2

阅读一些C或者C++第三方库开源源码的时候,有些源码中会使用dup和dup2这两个函数,由于在工作中基本上用不到这两个函数,所以它们对阅读源代码提升了一些难度。虽然当时看过相关博文后能理解,不过过了一段时间就又忘了,今天不算总结,就把这两个函数的经典特性给blog出来。先看一下dup和dup2函数的原型:#includeint dup(int fd);int dup2(int fd1,

2017-06-06 03:45:08 549

原创 python 阅读github上某项目所得总结

有如下例子程序a = [1, 2, 3]b = (1, 2, 3)if isinstance(a, (list, tuple)): print('1.ok')else: print('1.error')if isinstance(b, (list, tuple)): print('2.ok')else: print('2.error')if isinstance(a,

2017-03-16 23:04:07 839

原创 python 生成器和lambda的故事

今天在思考python表推导的语法的时候,很好奇这样的结果:a = [ x for x in [1, 2, 3] ]b = ( x for x in [1, 2, 3] )print('a type: {}'.format(type(a)))print('b type: {}'.format(type(b)))输出:a type: b type: 感觉[和]两个符号表示列表,那么

2017-03-14 23:39:50 1018

原创 python 给生成器发信息

有如下函数:def gen(): li = [1, 2, 3, 4] for i in li: yield ia = gen()try: while True: print(a.next())except StopIteration: print('generator ({}) has finished.'.format('a'))print(gen)print(

2017-03-12 22:55:29 289

原创 python 继承中的self和__init__

有如下继承关系:#python 2.7class GrandFather: def __init__(self): print('grandfather') print('---{}\'s __init__ with addr: {}'.format(self.__class__.__name__, self))

2017-03-11 23:30:11 2006

原创 python 构建一个回调函数2

class Test: def __init__(self): self.f_list = [] def register(self, function): if function in self.f_list: pass else: self.f_list.append(function) def do_test(self): params = []

2017-03-11 22:49:08 568

原创 python 构建一个回调函数

在工作中,回调函数使用的场景是非常多的,下面的例子程序利用了python的属性机制构建了一个回调函数class Callback: def __init__(self, instance, function_name): self.instance = instance self.function_name = function_name def action(self, par

2017-03-11 22:26:22 8388

原创 python 那些待深入理解的东西

class Father:#2.7版本的老式类 def __init__(self): pass def function(self): print(type(self)) print(isinstance(self, Son)) print(isinstance(self, Father)) print(self.mlist)class Son(Father):

2017-03-10 00:13:35 267

原创 Linux命令之tr

1.tr '[0*4]' '*' 若data.txt中的任意行中出现了连续4个0,就是4个****替换。必须是[0*4]形式,不能是0*4,否则数字4会被替换成*,原因是[0*4]是tr的语法[CHAR*REPEAT],儿后面是*也可以是****,这里只使用了一个*,是因为tr的一个特性:当SET1(上面的[0*4])的长度大于SET2(上面的*)时,SET2会重复SET1的最后一个字符。例如

2017-02-13 23:04:43 390

原创 linux下把log4cxx封装成so动态库文件(一)

这是一个经常遇到的问题,在软件开发过程中,需要将某些功能封装成一个独立的模块,这样维护升级也很方便。现在我们就要把开源日志库log4cxx封装成so动态加载库文件。在上一篇文章《log4cxx日志库RedHat下安装》中,我们已经将log4cxx安装在home/mac/log4cxx/log4cxx下了,那么接下来的操作我们就继续在这个路径下进行。还是先tree一下/home/mac/lo

2014-07-27 20:56:29 3143

原创 log4cxx日志库RedHat下安装

今天领导交给我一个任务:把log4cxx库在Redhat系统上面安装起来首先,我得到信息,安装这个库一共需要三个软件apr-1.4.6.tar.gzapr-util-1.4.1.tar.gzapache-log4cxx-0.10.0.tar.gz安装顺序是从上到下的,为什么,因为后者的安装依赖前者。我整理了一下思路,有如下几个问题:1.安装log4cxx库到

2014-07-21 23:16:36 1868

原创 从零冲击Erlang(六)

今天再来学习Erlang中的另一种数据leixing

2014-05-16 16:40:09 681

原创 从零冲击Erlang(五)

来学习一下Erlang中的一个很重要的数据类型---字符串其实字符串就是列表。

2014-05-16 16:39:58 658

原创 从零冲击Erlang(四)

今天我要来学习一下Erlang中一个关键的数据类型----列表

2014-05-16 16:39:26 559

原创 从零冲击Erlang(三)

dfdf

2014-05-16 16:38:11 708

原创 从零冲击Erlang(二)

今天我们将来初步认识Erlang。首先一个很关心的问题是:我怎么开发啊?

2014-05-16 16:37:22 640

原创 从零冲击Erlang(一)

最近感觉很累,感觉工作中没什么目标,整天浑浑噩噩的。这样子下去于己非常不利,

2014-05-16 16:36:45 687

原创 C语言实现状态设计模式

#include #include #include #ifndef VIRTUAL#define VIRTUAL#endif#ifndef DELETE#define DELETE(X) do { free(X);X = NULL; } while(0)#endif#define NEW(TYPE,pInstance,SUBTYPE) struct TYPE* pInst

2014-05-09 18:13:23 2113

SDN 网络系统之 Mininet 与 API 详解

SDN 网络系统之 Mininet 与 API 详解

2017-02-22

HaiQ源代码

HaiQ是使用Qt编写的程序,适合学习,只要还是学习Qt

2016-01-19

CMake3.2.2

cmake3.2.2最新版的源码包,目前很多介绍cmake如何安装的文章中都是使用此类源码包进行安装的

2015-05-22

Brackets.Release.1.0

Brackets 是一个免费、开源且跨平台的 HTML/CSS/JavaScript 前端 WEB 集成开发环境 (IDE工具)

2014-11-19

C语言动态创建队列

这是一个动态创建数据结构队列的例子,工作中可以参考甚至使用,不过还是侧重学习比较好,欢迎下载。

2013-12-26

i.MX 6Dual/6Quad VPU API参数说明

英文。较详细地说明了iMX系列CPU的VPU视频编解码程序所用到的API函数以及相关结构体的参数的意义

2013-09-02

SourceInsight语法高亮配置文件

不用不知道,童叟无欺,效果棒极了。 备份原来的配置文件,把下载的替换原来的并重启一下就行了

2013-02-17

Qt画扇形方式实现模拟时钟

使用QPainter的2D绘图画扇形方式实现一个模拟时钟,从中可以对Qt的坐标系有初步理解。同时学习如何画扇形。

2012-06-19

Qt模块介绍与讲解

这是一份txt,比较详细地介绍了Qt的各个模块的功用

2012-03-05

字符编码介绍

这是一份ppt,简单介绍了字符编码的种类以及分类的区别

2012-03-05

QtWidgetFlags分析

这是一份关于Qt Widget flags的txt文本,里面有一些flags的作用描述

2012-03-05

Qt 拖拽-qtablewidget

关于Qt的拖拽,主要是在qtablewidget里面的拖拽行为

2011-10-28

空空如也

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

TA关注的人

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