
linux网络编程
刘拉拉的book
这个作者很懒,什么都没留下…
展开
-
从一个例子说为什么要用接口
如题,看看下面这个例子 :现有狗 和企鹅两个类 ,狗会玩飞碟,企鹅会游泳,为什么要把玩飞碟和游泳的方法分别定义在两个接口里?如果定义在接口反而显得代码更加累赘,因为还多了两个接口。你可能会想,干嘛不直接把玩飞碟的方法直接定义在狗类中,游泳的方法直接定义在企鹅类中(这种情况下没有父类)。假设这样一种情况:后面又多了一种宠物类型鸭子,鸭子也会游泳,你是不是又要在鸭子类中定义一个游泳的方法...转载 2019-09-19 15:09:34 · 184 阅读 · 0 评论 -
extern与头文件(*.h)的区别和联系
用#include可以包含其他头文件中变量、函数的声明,为什么还要extern关键字?如果我想引用一个全局变量或函数a,我只要直接在源文件中包含#include<xxx.h> (xxx.h包含了a的声明)不就可以了么,为什么还要用extern呢??这个问题一直也是似是而非的困扰着我许久,经过实践和查找资料,有如下总结:一、头文件首先说下头文件,其实头文件对计算机而言没什么作用,...转载 2019-10-15 17:10:00 · 150 阅读 · 0 评论 -
多线程-线程锁-while循环
今天写多线程遇到了几个问题,导致程序一直无法正常运行:多个线程共用一个函数的时候,,由于没有用线程锁,导致无法正常运行;函数中有while循环,加入多线程之后,,由于没有进行初始化互斥量,导致只有第一个线程起作用。下面是例子:#include <stdio.h>#include <stdlib.h>#include <pthread.h>#in...原创 2019-12-04 16:14:34 · 4153 阅读 · 0 评论 -
#ifndef.#define, #endif 的用法
转自:http://www.cnblogs.com/weekend/p/4794007.html一般在.h头文件中都会看到:#ifndef FILE_H#define FILE_H /* ...... */ #endif那么为什么要在.h文件中这么声明呢?------------这是一种防止头文件被多次包含的预处理技术。文件中的#ifndef.#define, #endif 很...转载 2019-04-26 14:58:10 · 244 阅读 · 0 评论 -
用c语言实现读取配置文件源码
思路:比如linux中,以// 或/* 表示注释,以=表示赋值。从conf里一行一行读出来,如果第一个字母是/,就忽略;否则就从 line_of_file 里查找 “=”字符,(去掉行末’\n’换行符)=之前的就是参数名,=之后的就是参数值(去掉空格,tab)(用strncpy)实现:#define _CRT_SECURE_NO_WARNINGS#include <stdio....转载 2019-08-30 16:55:51 · 434 阅读 · 0 评论 -
linux多线程理解,附小例子
今天写了4部分内容:在线程和进程的基础上,理解多线程是干什么的相关函数一个包含了2个线程的小例子经常遇到的一个错误一、首先,先来说几点关于线程、进程、多线程的理解:一个cpu有多个核,通常情况下一个核心对应一个线程,就可以提高程序运行效率。有篇文章是这么比喻的:没有线程的多核CPU 就像是 多个人在一个桌子上吃饭,有时候出现争抢的情况 会降低效率。有多线程的多核CPU 就像是多个人...原创 2019-09-26 18:54:50 · 271 阅读 · 0 评论