C/C++开发
李纲明
热忠于互联网、移动互联网技术交流和分享
展开
-
操作符重载
<br />C++主题——重载操作符<br />1. 重载操作符后,操作符的含义不应该被改变。<br />2. 重载操作符后,优先级和结合性不变。<br />3. 重载操作符,应注意如果原操作符是一目操作符,那么重载后仍应该是一目的,以此类推,特别注意:冲在操作符时使用默认实参是非法的。<br />4. 短路操作符被重载后不再具备短路性。<br />5. 对于选择友元、成员、非成员的形式,需要在重载前衡量习惯、效率等问题。<br原创 2011-01-22 07:13:00 · 540 阅读 · 0 评论 -
Socket编程的头文件
socket编程中需要用到的头文件 sys/types.h:数据类型定义 sys/socket.h:提供socket函数及数据结构 netinet/in.h:定义数据结构sockaddr_in arpa/inet.h:提供IP地址转换函数 netdb.h:提供设置及获取域名的函数 sys/ioctl.h:提供对I/O控制的函数 sys/poll.h:提供socket等待测试机制的函数 其他在网原创 2014-08-22 17:34:23 · 6334 阅读 · 0 评论 -
学习C++编程需要看的常用书籍
1. 先把C++基础打好,这个很重要。可以通过学习《C++ primer》达到此目的 2. 《GNU/Linux编程指南》第二版 3. 《UNIX环境高级编程》第二版 4. 《UNIX网络编程》第三版 5. 《TCP/IP详解》原创 2012-07-08 10:36:50 · 1308 阅读 · 0 评论 -
iphone的sqlite数据库存储实例
iphone的sqlite数据库存储实例原创 2012-02-28 11:15:12 · 845 阅读 · 0 评论 -
软件工程面向对象构件组装模型
<br /><br /> <br />软件工程面向对象构件组装模型原创 2011-05-04 13:43:00 · 2013 阅读 · 0 评论 -
流媒体行业需了解语言、常用软件、开发工具、相关协议及开发思想
c/c++、shell 、pear、phphtml、css+div、jquery(ajax)mysql、oracle、memcached starting(ruby)rsyncsvnvistudio(IDE)http rtsp tcp/ip lvsnginx/apache fast_cgioop ooa ood通过以上工具及软件语言把企业相关的业务用架构思想进行抽象:核心业务(流媒体)广告系统(营销、市场)用户系统(客服、研发、运营、营销)统计系统(运营)监控系统(运维)支付系统(客服、研发)CDN+P2P原创 2011-04-17 17:21:00 · 2211 阅读 · 0 评论 -
使用jrtplib传输一个视频
<br />可以抽象出几个独立的模块<br />1.网络传输<br />2.视频<br /> 2.1 视频源采集<br /> 2.1 视频压缩、还原<br /> 2.2 视频回放<br /><br />如果要源代码,估计是不可能了,每个环节都是蛮大的工程,<br />不过我可以告诉你每个模块需要注意的环节<br /><br />1.网络传输<br /> 1.1)TCP不太适合做点对点传输,所以必须将协议层定位在UDP上<br /> 1.2) UDP互联网上传输是不可靠的,在数据包超过1400字节的转载 2011-04-14 13:56:00 · 3132 阅读 · 0 评论 -
关于开源的RTP——jrtplib的使用
session.BeginDataAccess(); if (session.GotoFirstSource()){ do{ RTPPacket *packet; while ((packet = session.GetNextPacket()) != 0){ cout GetExtendedSequenceNumber() GetSSRC()转载 2011-04-14 13:11:00 · 13096 阅读 · 2 评论 -
流媒体在CDN分发之前架构设想
<br />模块划分:<br />1、上传流媒体服务器<br />2、流媒体数据库集群<br />3、流媒体数据库cache集群<br />4、流媒体转码服务器集群<br />5、流媒体临时目标服务器存储<br />6、CDN分发流媒体至各个节点集群<br />7、用户通过调度器(CDN+P2P)观看流媒体<br />8、监控流媒体各个集群运行状态<br />原创 2011-04-17 17:06:00 · 1397 阅读 · 0 评论 -
用C语言操作MySQL数据库,进行连接、插入、修改、删除等操作
<br />很多人用到MySQL来开发一些项目,有时为了性能,我们会直接用C语言来开发相关的模块,尤其在我们的web应用中,虽然PHP、JSP等脚本均提供了MySQL的接口,但是显然直接使用C语言具有更好的安全性和性能,Michael以前用PHP开发的多个项目中就使用了C语言编写的这类接口,然后再编译到php里面,供php脚本直接使用,这方面的话题就不多说了,下面主要说一下在Linux下如何用C语言连接MySQL数据库,并且读取里面的数据返回,同时如何进行编译。<br />这里的大部分代码参考了MySQL发原创 2011-04-04 10:04:00 · 2455 阅读 · 1 评论 -
C语言操作mysql 添加、删除、修改、查询实例
<br />#include <stdio.h> #include <stdlib.h> #include <string.h> #include <mysql/mysql.h> int main (int argc, char *argv[]){ MYSQL *conn_ptr; MYSQL_RES *res; MYSQL_ROW row; char query[1024]; int t,r; conn_ptr=mysql_init(NULL); if(!co原创 2011-04-04 10:12:00 · 4816 阅读 · 0 评论 -
C++编译器的函数编译流程揭秘
<br />C++中的类型查找过程相对简单,基本上就是名字查找,这里不再介绍。<br /> 对于 .cpp 文件中调用的一个函数 ( 或成员函数 ), 编译器主要做了下面三件事情 :<br /> 1 名字查找 . 先在所在编译单元中可见名字实体中进行名字查找 .(1) 类成员函数优先 ( 对象所在的类 -> 基类 ). 一经找到就停止查找 . (2 )如果没有 ,在相应的名字空间中做进一步的搜索 ; (3) 如果还没有 , 会根据函数参数所在的名字空间中查找 (keoning 查找 ).<b原创 2011-02-07 20:56:00 · 681 阅读 · 0 评论 -
解决TCP网络传输“粘包”问题
<br />当前在网络传输应用中,广泛采用的是TCP/IP通信协议及其标准的socket应用开发编程接口(API)。TCP/IP传输层有两个并列的协 议:TCP和UDP。其中TCP(transport control protocol,传输控制协议)是面向连接的,提供高可靠性服务。UDP(user datagram protocol,用户数据报协议)是无连接的,提供高效率服务。在实际工程应用中,对可靠性和效率的选择取决于应用的环境和需求。一般情况下,普通数据 的网络传输采用高效率的udp,重要数据的转载 2011-01-30 12:27:00 · 1017 阅读 · 0 评论 -
如何进行类设计
<br />一、面向对象的设计原则-类设计原则<br /> <br /> 在面向对象设计中,如何通过很小的设计改变就可以应对设计需求的变化,这是令设计者极为关注的问题。为此不少OO先驱提出了很多有关面向对象的设计原则用于指导OO的设计和开发。下面是几条与类设计相关的设计原则。<br />1. 开闭原则(the Open Closed Principle OCP)<br /> 一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的。因此在进行面向对象设计时要尽量考虑接口封装机制、抽象机制和多态技术。该原创 2011-01-25 15:24:00 · 1151 阅读 · 0 评论 -
C++ string详解
<br />之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作 为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。<br /> 好了,进入正题………<br /> 首先,为了在我们的程序中使用string类型,我们必须包含头文件 。如下:<br /> #i原创 2011-01-24 15:33:00 · 565 阅读 · 0 评论 -
C++ STL基本容器比较
在STL中基本容器有: string、vector、list、deque、set、map<br /><br /> set 和map都是无序的保存元素,只能通过它提供的接口对里面的元素进行访问<br /><br /> set:集合, 用来判断某一个元素是不是在一个组里面,使用的比较少<br /> map:映射,相当于字典,把一个值映射成另一个值,如果想创建字典的话使用它好了<br /><br /> string、vector、list、deque、set 是有序容器1.string<br /> st原创 2011-01-24 17:44:00 · 617 阅读 · 0 评论 -
通过RTLabel、RCLabel、FTCoreText及webView结合SDWebImage等4种方式实现左滑或下拉中cell中图文混排使用场景方案
1.RTLabel和RCLabel两个在使用方式上差不多,对服务端吐的的数据要求比较高 json数据最好是定制式 {"type","img",con:"http://www.xxx.com/123.png", “width":"300", "height":"300"} {"type","con",con:"图片名称", “width":"", "height":""}原创 2014-09-13 14:03:37 · 12208 阅读 · 1 评论