02 2017 档案

摘要:最近在看Linux下文件操作相关章节,遇到了这么几个结构体,被搞的晕乎乎的,今日有空,仔细研究了一下,受益匪浅。 首先说说DIR这一结构体,以下为DIR结构体的定义: struct __dirstream { void *__fd; char *__data; int __entry_data; c 阅读全文
posted @ 2017-02-27 10:16 Boblim 阅读(5499) 评论(0) 推荐(1)
摘要:Linux C 下面读取文件夹要用到结构体struct dirent,在头#include <dirent.h>中,如下: 其中d_type表明该文件的类型:文件(8)、目录(4)、链接文件(10)等。 下面程序,递归读取某文件夹及其子文件夹下所有文件名: 执行输出 : 下面是脚本之家 深入探讨:l 阅读全文
posted @ 2017-02-27 10:14 Boblim 阅读(38818) 评论(1) 推荐(1)
摘要:在C中,默认的基础数据类型均为signed,现在我们以char为例,说明(signed) char与unsigned char之间的区别 首先在内存中,char与unsigned char没有什么不同,都是一个字节,唯一的区别是,char的最高位为符号位,因此char能表示-128~127, uns 阅读全文
posted @ 2017-02-24 09:57 Boblim 阅读(985) 评论(0) 推荐(0)
摘要:方法1: 用SET PASSWORD命令 首先登录MySQL。 格式:mysql> set password for 用户名@localhost = password('新密码'); 例子:mysql> set password for root@localhost = password('123' 阅读全文
posted @ 2017-02-23 15:44 Boblim 阅读(21935) 评论(0) 推荐(1)
摘要:getifaddrs()和struct ifaddrs的使用,获取本机IP ifaddrs结构体定义如下: 1 struct ifaddrs 2 { 3 struct ifaddrs *ifa_next; /* Next item in list */ 4 char *ifa_name; /* Na 阅读全文
posted @ 2017-02-22 10:41 Boblim 阅读(37105) 评论(1) 推荐(0)
摘要:在Linux下开发网络程序时,经常会遇到需要取本地网络接口名、IP、广播地址、子网掩码或者MAC地址等信息的需求,最常见的办法是配合宏SIOCGIFHWADDR、SIOCGIFADDR、SIOCGIFBRDADDR与SIOCGIFNETMASK作为参数调用函数ioctl分别获得MAC地址、IP地址、 阅读全文
posted @ 2017-02-22 09:25 Boblim 阅读(18933) 评论(1) 推荐(1)
摘要:获取本地 ip 地址,mac,通过域名获取对应的 ip, 是网络编程可能遇到的比较常见的操作了,所以总结如下(封装了3个函数), 直接上代码: 测试运行 结果如下: ifreq 结构体分析和使用: 基本介绍: ifreq结构定义在/usr/include/net/if.h,用来配置ip地址,激活接口 阅读全文
posted @ 2017-02-21 19:43 Boblim 阅读(16115) 评论(0) 推荐(2)
摘要:获取文件夹下所有的文件名是常用的功能,今天再一次有这样的需求,所有就在网上查找了很多,并记下以供后用。 原文:http://blog.csdn.NET/cxf7394373/article/details/7195661 原文:http://qiaoxinwang.blog.163.com/blog 阅读全文
posted @ 2017-02-21 16:03 Boblim 阅读(85530) 评论(6) 推荐(8)
摘要:1. 引入inline关键字的原因 在c/c++中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了inline修饰符,表示为内联函数。 栈空间就是指放置程序的局部数据(也就是函数内数据)的内存空间。 在系统下,栈空间是有限的,假如频繁大量的使用就会造成因栈空间不足而导致程序 阅读全文
posted @ 2017-02-21 14:19 Boblim 阅读(97235) 评论(5) 推荐(42)
摘要:在编译程序是出现了如下错误, 类或结构体的前向声明只能用来定义指针对象或引用,因为编译到这里时还没有发现定义,不知道该类或者结构的内部成员,没有办法具体的构造一个对象,所以会报错。 将类成员改成指针就好了。 程序中使用incomplete type实现前置声明有助与实现数据的隐藏。要求调用对象的程序 阅读全文
posted @ 2017-02-17 10:41 Boblim 阅读(25488) 评论(0) 推荐(1)
摘要:_vsnprintf,C语言库函数之一,属于可变参数。用于向字符串中打印数据、数据格式用户自定义。 函数简介 编辑 函数简介 头文件: #include <stdarg.h> 函数声明: int _vsnprintf(char* str, size_t size, const char* forma 阅读全文
posted @ 2017-02-15 16:07 Boblim 阅读(5065) 评论(0) 推荐(0)
摘要:最近,遇到一个c语言的不定参数问题。其实,对于c语言的不定参数问题,只需要三个函数就可以搞定了。这三个函数的头文件是<stdarg.h>,其实下面的三个函数都是一个宏定义(macro)。 这三个函数是: void va_start(va_list ap, last); type va_arg(va_ 阅读全文
posted @ 2017-02-15 16:04 Boblim 阅读(5203) 评论(0) 推荐(1)
摘要:在初学C的时候,我们都会用到printf函数来写Hello World的程序.在我们看printf函数的声明时,会看到类似于下面代码 另外,在我们学习C和C++的时候,函数的声明总是确定个数和类型的,而我们在用printf的时候,却可以一次输出多个参数. 这就是我们要提的不定参数了. 在32位的C和 阅读全文
posted @ 2017-02-15 16:03 Boblim 阅读(5420) 评论(0) 推荐(0)
摘要:转自:http://blog.csdn.net/hazir/article/details/38600419 今天下午遇到一个头文件相互包含而导致的编译问题,花了我不少时间去调试没找到问题,最后晚上跟师兄讨论不少时间,突然有所顿悟! 问题重现 我把问题脱离于项目简单描述一下:我写了一个函数 bool 阅读全文
posted @ 2017-02-15 08:28 Boblim 阅读(5066) 评论(0) 推荐(0)
摘要:makefile很重要 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还 阅读全文
posted @ 2017-02-13 17:31 Boblim 阅读(980) 评论(0) 推荐(0)
摘要:一.前言 1.编译器优化介绍: 由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度。以上是硬件级别的优化。再看软 阅读全文
posted @ 2017-02-09 09:46 Boblim 阅读(1015) 评论(0) 推荐(0)
摘要:字符数组转化成string类型char ch [] = "ABCDEFG";string str(ch);//也可string str = ch;或者char ch [] = "ABCDEFG";string str;str = ch;//在原有基础上添加可以用str += ch;将string类型 阅读全文
posted @ 2017-02-06 10:01 Boblim 阅读(148997) 评论(0) 推荐(13)
摘要:1)是用Vector容器代替数组 2)使用数组指针(需要注意局部变量的问题,指针是否需要用new创建) int red [ 3 ] = { 1 , 0 , 0 }; int green [ 3 ] = { 0 , 1 , 0 }; int blue [ 3 ] = { 0 ,&# 阅读全文
posted @ 2017-02-06 10:00 Boblim 阅读(15691) 评论(0) 推荐(1)