- 博客(199)
- 资源 (9)
- 收藏
- 关注
原创 二级指针正确使用方式
二级指针理解// 第一次的代码 (低级错误)int init(Node *phead){phead = (Node *)malloc(sizeof(Node));//只是改变了副本的值 毫无malloc的意义phead->next = NULL;phead->val = NULL;}int main(){Node *phead;init(phead);// 为什么传入不了值呢?// 因为phead是拷贝副本,malloc分配空间后phead值有改变但是这里并没有带回,
2020-08-14 13:15:41 618
转载 缺少动态连接库.so--cannot open shared object file: No such file or directory
今天工作中用到了log4cpp 自己写了个小demo 但是编译的时候库总是加载不上去 谷歌一下 下面第一种方案成功解决了问题缺少动态连接库.so--cannot open shared object file: No such file or directory总结下来主要有3种方法:1. 用ln将需要的so文件链接到/usr/lib或者/lib这
2015-03-03 13:08:15 3249
原创 shttpd 日志
#include "defs.h"/** Log function*/void_shttpd_elog(int flags, struct conn *c, const char *fmt, ...){ char date[64], buf[URI_PATH_MAX]; int len; FILE *fp = c == NULL
2014-12-11 10:13:43 1066
原创 shttpd string 操作重写
/* * Copyright (c) 2004-2005 Sergey Lyubka * All rights reserved * * "THE BEER-WARE LICENSE" (Revision 42): * Sergey Lyubka wrote this file. As long as you retain this notice you * can do what
2014-12-08 17:09:13 827
转载 Buileder(生成器)—对象创建型模式
一 意图将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。二 适用性在以下情况使用Build模式:1 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。2 当构造过程必须允许被构造的对象有不同的表示时。3 Builder模式要解决的也正是这样的问题: 当我们要创建的对象很复杂的时候(通常是由很多其他
2014-09-12 16:27:53 648
转载 nginx中的进程模型
1、高性能服务器对一个高性能服务器来说,处理速度快和资源占用小是典型特性,尤其是当服务器遇到C10K问题的时候(网络服务器在处理数以万计的客户端连接时,往往出现效率低下甚至完全瘫痪,这被称为C10K问题)。要做到处理速度足够快,其并发模型的设计相当关键,而要做到资源尤其是内存资源的占用少,就要依赖于其资源分配和资源管理的方案设计。服务器的并发模型设计是网络编程中很关键的一个部分,服
2014-08-19 13:44:22 1056
原创 Linux服务之httpd基本配置详解
一、基本介绍1、版本httpd-1.3httpd-2.0httpd-2.2httpd-2.4目前为止最新的版本是httpd-2.4.6,但是这里我用的是系统自带的RPM包安装的httpd-2.2.15版本的,最新版本配置可能会有所不同2、模型:高度模块化:DSOMPM:Multipath Processing Module #多处理模块prefork:一次一
2014-06-09 16:57:36 915
转载 CentOS下安装QT5
2013-06-18 16:56 1348人阅读 评论(0) 收藏 举报原文地址 http://blog.sina.com.cn/s/blog_976cce7c0101aa8b.html1.下载QT5 SDK下载地址:http://qt-project.org/downloads。2.安装QT5下载完后,假设放在Download/,切换到该目录,输入:./qt-linux-
2014-06-08 23:30:10 1928
转载 mysql 执行脚本中遇到到权限问题
我将s9当众原来的mysql4.0删除后,重新装了个mysql5.0,启动过程中报一下错误,启动失败,查了一下群里面的老帖子也没有个具体的明确说明,还请那位高手说明一下怎么解决。谢谢error 日志当中的记录:[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exi
2014-05-26 15:46:45 1232
原创 一年 编程 北京 linux 回忆
从一个小时前 我就已经在北京工作整整一年了 回想去年三月中旬来北京的时候还是很佩服自己的一个没有太多工作经验的大学生 毕业半年后只身来到北京 开始了全新的生活佩服自己当初裸辞的魄力 没有太多工作经验 也没怕找不到工作 谢谢当初兄弟BS给了我很大的勇气还好来到北京两个星期找到工作 第三个星期开始了工作 接触到了一直向往的 嵌入式linux开发 听起来很高端很大气
2014-04-01 01:47:44 968
转载 深入Phtread(三):线程的同步-Condition Variables
目录(?)[+]深入Phtread(三):线程的同步-Condition Variables 继续昨天的线程同步,条件变量(Condition Variables)是用于线程间,通信共享数据状态改变的机制。简介条件变量的创建和销毁等待条件变量唤醒等待条件变量的线程简介 当线程互斥地访问一些共享的状态时,往往会有些线程需要等到这
2014-03-24 10:08:32 660
转载 深入Phtread(二):线程的同步-Mutex
目录(?)[+] 深入Phtread(二):线程的同步-Mutex 并行的世界,没有同步,就失去了秩序,就会乱作一团!试想,交通没有红绿灯,生产线产品装配没有一定的顺序... 结果是显而易见的。多个线程也需要同步,否则程序运行起来结果不可预测,这是我们最不能容忍的。交通的同步机制就是红绿灯,Pthread提供了互斥量(mutex)和条件变量(Condition Var
2014-03-24 10:06:53 789
转载 深入Phtread(一):线程的一生
目录(?)[+]深入Phtread(一):线程的一生 我们每个人都并行地活在这个世界上 ,每一天每个人都干着不同的事情。每个人的人生都是不同的,从出生 -> 活着 -> 死去, 个中滋味,只能自己体味了。我们的线程兄弟也一样,只不过它的环境没有人类社会这么复杂,它的一生,被操作系统控制,被我们程序员控制着!呵呵,想想都觉得这兄弟可怜啊!不过这哥们可不许小瞧了,功能大
2014-03-24 10:02:41 755
转载 POSIX 多线程程序设计
Blaise Barney, Lawrence Livermore National Laboratory 目录表 摘要 译者序Pthreads 概述 什么是线程? 什么是Pthreads? 为什么使用Pthreads? 使用线程设计程序 Pthreads API编译多线程程序 线程管理 创建和终止线程 向线程传递参数 连接(Joining
2014-03-24 10:00:50 658
原创 多进程拷贝文件 提高io效率 利用 文件空洞 内容很简单 原理很深刻
/** * @file 1.c * @brief tow process to copy file in one time * @author HarkHuang * @date 2014年3月20日 * @version Initial Draft * @par Copyright (C), 2013-2023, Join Bright * @par History
2014-03-20 14:56:54 876
原创 谈数据库索引和Sqlite中索引的使用
很久没写博客了,也不是没时间,总觉得缺少积累。开了个独立博客 foocoder.com,用octopress搭在github上的。以后可能就只在这上面更新博客。(cnblog,csdn,51cto每个都去写很累。。。)。 要使用索引对数据库的数据操作进行优化,那必须明确几个问题:1.什么是索引2.索引的原理3.索引的优缺点4.什么时候需要使用索引,如何使用围绕这几个问题
2013-12-22 23:36:16 849
原创 strtok和strsep函数详解
函数原型:char *strtok(char *s, const char *delim); char *strsep(char **s, const char *delim); 功能:strtok和strsep两个函数的功能都是用来分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。
2013-11-12 21:12:51 1043
转载 C++ 拷贝构造函数和赋值构造函数
一下内容从不同网站摘录而来 在C++中复制控制是一个比较重要的话题,主要包括复制构造函数、重载赋值操作符、析构函数这三部分,这三个函数是一致的,如果类需要析构函数,则它也需要复制操作符 和 复制构造函数,这个规则被称为 C++的“三法则”。如果需要手动定义了其中了一个,那么另外的两个也需要定义,通常在存在指针或者前期相关操作的情况下,都需要手动的定义。 复制构造
2013-11-04 09:40:22 792
转载 Source Insight中的多行注释
我们经常要对一整段代码进行注释,很多代码编辑器都提供了这样的功能:用快捷键“Ctrl + /”来实现“//”的多行注释。但是在用source insight的时候,发现竟然没有这样的功能。于是在网上搜了一下,sourceinsight里面的多行注释可以用宏来实现。以下是实现多行注释的宏代码(在别的网站copy过来的,经过测试,还是很好用的):macro MultiLin
2013-08-16 11:52:39 890
原创 文件复制(多进程实现-适合各种项目参考)
#include "apue.h"#define PATH "1.db" void sig_alrm(int signo){ printf("signo=%u pid=%u tid=%u \n", (unsigned int )signo, (unsigned int )getpid(), (unsigned int )pthread_self()); return
2013-08-07 19:34:17 1067
转载 定时器程序
定时器是我们需要经常处理的一种资源。那linux下面的定时器又是怎么一回事呢?其实,在linux里面有一种进程中信息传递的方法,那就是信号。这里的定时器就相当于系统每隔一段时间给进程发一个定时信号,我们所要做的就是定义一个信号处理函数。[cpp] view plaincopy#include #include #include
2013-07-30 10:22:41 905
转载 康奈尔大学做笔记方式
5R笔记法,又叫做康乃笔记法,是用产生这种笔记法的大学校名命名的。这一方法几乎适用于一切讲授或阅读课,特别是对于听课笔记,5R笔记法应是最佳首选。这种方法是记与学,思考与运用相结合的有效方法。具体包括以下几个步骤:1.记录(Record)。在听讲或阅读过程中,在主栏(将笔记本的一页分为左大右小两部分,左侧为主栏,右侧为副栏)内尽量多记有意义的论据、概念等讲课内容。2.简化(Redu
2013-07-28 14:51:30 1314
原创 从字符串中提取数字
下面程序将字符串中的连续数字提取出来,并存放到一维数组中。比如说一个字符串:"a284twx234 je3432",把“284“,“234”,“3432”这3个连续数字提取出来,分别存放到a[0],a[1].a[2]中。#include stdio.h>#include string.h>#include ctype.h>int main(){
2013-07-25 02:04:13 3035 1
原创 针对insert into update 的理解 深刻入理 sqlite3
SQL所理解的SQLiteINSERT插入stmt的:INSERT语句有三种基本形式。第一种形式(与“值”关键字)在现有表中创建一个或多个新行。如果列表中没有列被指定,那么插入到每一行中的值的数目必须是在表中的列数相同。在这种情况下的结果的评价最左边的表达式的值的列表中的每个术语中被插入到最左边的列中的每个新行,列,其后每表达式。如果列列表被指定,那么在每学
2013-07-23 13:29:44 3118
转载 哈佛大学凌晨四点半的景象 2011-02-14 13:57:01|
差距…… 在网上看到这篇文章,觉得很有感触, 或许这再一次印证任何人每一次的成功背后都有不为人知的付出和汗水。哈佛老师经常给学生这样的告诫:如果你想在进入社会后,在任何时候任何场合下都能得心应手并且得到应有的评价,那么你在哈佛的学习期间,就没有晒太阳的时间。 作为闻名于世的学府,哈佛大学培养了许多名人,他们中有33位诺贝尔奖获得者、7位美国总统以及
2013-07-21 18:49:07 894
转载 加州伯克利大学的一些“前”规则
转自互联网再次来加州伯克利大学深造,已经许久了,实际加州也有他那独特的前规则,为何称其为“前规则”那,因为这个规则是大家认同在心里的逐渐变动的规则,是你可以在这个文化体系中明显看到的,是放在明处的,而不是深深地藏在暗处。我就随意谈几点生活、学习、研究、社会及其民生的一些前规则吧,研究与生活的节奏蛮紧张的,况且好些天没有写东西了,估计一些人已经骂我无数遍懒惰了,那就简单写一下美国
2013-07-21 16:47:22 1833
转载 C++中引用(&)的用法和应用实例
对于习惯使用C进行开发的朋友们,在看到c++中出现的&符号,可能会犯迷糊,因为在C语言中这个符号表示了取地址符,但是在C++中它却有着不同的用途,掌握C++的&符号,是提高代码执行效率和增强代码质量的一个很好的办法。在 c++学习提高篇(3)---隐式指针的文章中我详细介绍了在隐式指针&的用法,其实这两个概念是统一的。引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活
2013-07-21 12:11:41 1076
原创 我现在就想看书 就想看书 就像看书
磨磨唧唧没完没了 ,到底生活是什么啊?我就想好好的做技术 走技术路线 我就像看书 就像看书!!!!!!!!!!!!!!!!
2013-07-21 01:40:19 818
转载 gdb调试
Linux下调试C/C++的最好的工具是GDB, GDB是命令行的调试工具,GDB常用的命令如下:举例:1.新建一个文件C++源代码的文件swap.cpp,源代码如下:[cpp] view plaincopy#include using namespace std; void swap(i
2013-07-21 00:29:07 877
转载 strcat
目录C函数MATLAB函数展开C函数MATLAB函数展开编辑本段C函数原型extern char *strcat(char *dest,char *src);用法#include 在C++中,则存在于头文件中。功能把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0
2013-07-18 00:48:28 951
转载 关于位的算法
干脆把若干方法都贴过来吧~~~Counting bits set (naive way)unsigned int v; // count the number of bits set in vunsigned int c; // c accumulates the total bits set in vfor (c = 0; v; v >>= 1){ c +=
2013-07-18 00:44:22 1050
转载 vector C++ 详细用法
分类: VC2009-03-30 09:52 92796人阅读 评论(31) 收藏 举报vectorc++iterator数据结构exceptionalgorithm vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一
2013-07-18 00:41:54 1191
转载 SQLLite (三):sqlite3_prepare_v2,sqlite3_step
如果既不想写回调函数,又想避免sqlite3_get_table之后麻烦的一维数组遍历,那么利用sqlite3_prepare_v2执行sql select语句,让后sqlite3_step遍历select执行的返回结果是一个非常方便的solution. 当然,你必须要明白sqlite3_prepare_v2不仅仅能够执行table的query selection,也能方便地进行sql Del
2013-07-17 14:18:42 3512
转载 SQLite 创建、修改、删除表
SQLite 创建、修改、删除表一、数据库定义语言 DDL在关系型数据库中,数据库中的表 Table、视图 View、索引 Index、关系 Relationship 和触发器 Trigger 等等,构成了数据库的架构 Schema。 在 SQL 语句中,专门有一些语句用来定义数据库架构,这些语句被称为
2013-07-17 13:02:14 1319
转载 sqlite 句柄-sqlite 基础教程(3)
分类: IOS开发(所有IOS文章) ---sqlite(IOS) C/C++2012-03-09 13:49 2457人阅读 评论(2) 收藏 举报sqlitecallbackauthorizationfunction数据库transactions声明欢迎转载,但是请尊重作者劳动成果,转载请保留此框内声明,谢谢。文章出处:http://blog
2013-07-17 12:36:02 837
转载 sqlite
Hark-Huang0我的:收件箱资源博客空间设置|帮助|退出首页业界移动云计算研发论坛博客下载更多刘伟Derick-IOS应用开发(iPhone iPad 应用、游戏)潇洒的程序员如果您喜欢可以多留言支持,收藏我的博客。每天都有值得您关注的文章。目录视图摘要视图订阅
2013-07-17 01:27:12 854
原创 used to use cmds
sudo mount -t vboxsf other_share /mnt/share/other_sharesudo mount -t vboxsf IMU_Proj /mnt/share/IMU_Proj
2013-07-16 09:37:55 764
转载 sqlite工作记录-3数据库数据高效使用
#include #include #include using namespace std; void doTest() { sqlite3* conn = NULL; //1. 打开数据库 int result = sqlite3_open("D:/mytest.db",&conn); if (result != SQLITE_O
2013-07-15 22:41:59 1038
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人