自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (12)
  • 收藏
  • 关注

转载 lseek及llseek介绍

lseek在manpage中的相关说明:名称       lseek - 重新定位读/写文件偏移量内容简介       #include        #include        off_t lseek(int fd, off_t offset, int whence);描述       使用lseek()函数根据whence及offset两个参

2015-03-27 11:31:31 1127

原创 fseek函数

int fseek(FILE *stream, long offset, int fromwhere);函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere为基准,偏移offset(指针偏移量)个字节的位置,函数返回0。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置,函数返回一个非0值。实验得出,超出文件末尾位置

2015-03-27 11:24:31 517

转载 GCC在C语言中内嵌汇编 asm __volatile__

在内嵌汇编中,可以将C语言表达式指定为汇编指令的操作数,而且不用去管如何将C语言表达式的值读入哪个寄存器,以及如何将计算结果写回C 变量,你只要告诉程序中C语言表达式与汇编指令操作数之间的对应关系即可, GCC会自动插入代码完成必要的操作。1、简单的内嵌汇编例:       __asm__ __volatile__("hlt"); "__asm__"表示后面的代码为内嵌汇编,"

2015-03-24 20:29:29 391

转载 gcc下__attribute__ ((constructor))和__attribute__ ((destructor))的使用

gcc下__attribute__ ((constructor))和__attribute__ ((destructor))的使用__attribute__ ((constructor))指定的函数在共享库loading的时候调用,__attribute__ ((destructor))指定的函数在共享库unloading的时候调用。 1. 编写源码文件ktest.

2015-03-24 20:02:48 400

转载 如何在main函数前后执行代码

第一次遇到这个问题的时候,第一反应是我没听错吧,然后默默在心里把面试官骂了N遍。对于C++来说,全局变量、静态变量的初始化是在main函数前执行的,这样就可以在构造函数里面运行一些东西。另外,今天再介绍几个底层玩法。直接上代码(以C语言为例,保存为demo.c):#include __attribute__((constructor)) int demo_construct

2015-03-24 18:40:47 524

转载 20个 Unix/Linux 命令技巧

让我们用这些Unix/Linux命令技巧开启新的一年,提高在终端下的生产力。我已经找了很久了,现在就与你们分享。删除一个大文件我在生产服务器上有一个很大的200GB的日志文件需要删除。我的rm和ls命令已经崩溃,我担心这是由于巨大的磁盘IO造成的,要删除这个大文件,输入:> /path/to/file.log# 或使用如下格式: > /path/to/file.lo

2015-03-24 14:49:38 314

转载 malloc和free函数详解

本文介绍malloc和free函数的内容。  在C中,对内存的管理是相当重要。下面开始介绍这两个函数:   一、malloc()和free()的基本概念以及基本用法:1、函数原型及说明:void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。

2015-03-24 10:56:36 283

转载 如何在C++中调用C程序?

C++和C是两种完全不同的编译链接处理方式,如果直接在C++里面调用C函数,会找不到函数体,报链接错误。要解决这个问题,就要在 C++文件里面显示声明一下哪些函数是C写的,要用C的方式来处理。1.引用头文件前需要加上 extern “C”,如果引用多个,那么就如下所示extern “C”{#include “ s.h”#include “t.h”#include “g.h”

2015-03-22 22:46:22 271

转载 warning C4047: '=' : 'int *' differs in levels of indirection from 'int (*)[3]'

#include void main(){ int *p; int i,j; int a[3][3]={{0,1,2},{3,4,5},{6,7,8}}; p=a;//编译时在此处会报标题中的警告,想知道具体是什么原因?求高人指教! for(i=0;i<3;i++) { for( j=0;j<3;j++) { printf("%d\n",*p

2015-03-20 10:56:11 15077

转载 一道试题引发的血案 int *ptr2=(int *)((int)a+1)

某日,看到一道比较恶心的C语言的试题,考了很多比较绕的知识点,嘴脸如下: int main(void){    int a[4] = {1, 2, 3, 4};    int *ptr1=(int *)(&a+1);    int *ptr2=(int *)((int)a+1);    printf("%x, %x/n", ptr1[-1

2015-03-16 10:14:31 437

转载 位域

有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态,用一位二进位即可。为了节省存储空间,并使处理简便,C语言提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个类型单元中的二进位划分为几个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以达到压缩数据的目的。位域定义

2015-03-16 09:05:24 274

转载 C 位域

以下测试均在vc6.0下进行,其中char 占一个字节, shortint占两个字节, int 占四个字节, long int 占四个字节.有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态,用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划

2015-03-16 08:52:10 255

转载 C结构体之位域(位段)

C结构体之位域(位段)有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。

2015-03-15 21:01:16 272

转载 理解一般指针和指向指针的指针

在说指向指针的指针之前,不得不说指向变量的指针。先看如下示例:1. 指向整型指针先看如下示例: 1 #include iostream> 2 using namespace std; 3  4 int main() 5 { 6     int a = 5; 7     int * p = &a; 8     cout  "a  = "

2015-03-12 21:06:53 251

转载 fcntl.h与unistd.h

fcntl.h与unistd.hfcntl.h定义了很多宏和open,fcntl函数原型unistd.h定义了更多的函数原型close(关闭文件)表头文件#include定义函数int close(int fd);函数说明当使用完文件后若已不再需要则可使用close()关闭该文件,二close()会让数据写回磁盘,并释放该文件所占用的资源。参

2015-03-09 09:30:43 474

转载 头文件sys/types.h <sys/stat.h>

头文件一般位于usr/include目录下,各个子类的头文件位于include子目录下不知道某个“库函数”需要哪些头文件,使用“man 函数”即可查看在应用程序源文件中包含  以访问 _LP64 和 _ILP32 的定义。此头文件还包含适当时应使用的多个基本派生类型。尤其是以下类型更为重要:clock_t 表示系统时间(以时钟周期为单位)。dev_t 用于设备号。off_t

2015-03-09 09:23:39 9311

转载 #include <sys/types.h>的作用

#include 的作用#include 基本系统数据类型是Unix/Linux系统的基本系统数据类型的头文件,含有size_t,time_t,pid_t等类型。NAME       sys/types.h - data typesSYNOPSIS       #include DESCRIPTION       The h

2015-03-08 22:29:43 5519

转载 C语言深入学习系列

用C语言写程序时需要知道是大端模式还是小端模式。         所谓的大端模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;所谓的小端模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。          为什么会有大小端模式之分呢?这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8bit。但是

2015-03-08 16:51:09 553

转载 C语言字节对齐

一、概念       对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。     二、为什么要字节对齐      需要字节对齐的根本原因在于CPU访问数据的效率问题。假设上面整型变量的地址不是自然对齐,比如为0x00000002,则CPU如果

2015-03-08 15:57:46 263

转载 C语言的字节对齐及#pragma pack的使用

C编译器的缺省字节对齐方式(自然对界)在缺省情况下,C编译器为每一个变量或是数据单元按其自然对界条件分配空间。在结构中,编译器为结构的每个成员按其自然对界(alignment)条件分配空间。各个成员按照它们被声明的顺序在内存中顺序存储(成员之间可能有插入的空字节),第一个成员的地址和整个结构的地址相同。 C编译器缺省的结构成员自然对界条件为“N字节对齐”,N即该成员数据类型的长

2015-03-08 15:56:51 554

转载 C语言字节对齐详解

一、什么是对齐,以及为什么要对齐:1. 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。2. 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些

2015-03-08 15:54:25 236

转载 内存对界原理

1. 内存对界原理在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然对界(alignment)条件分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同。例如:1

2015-03-06 21:27:30 336

转载 sizeof()用法汇总

sizeof()功能:计算数据空间的字节数1.与strlen()比较      strlen()计算字符数组的字符数,以"\0"为结束判断,不计算为'\0'的数组元素。      而sizeof计算数据(包括数组、变量、类型、结构体等)所占内存空间,用字节数表示。2.指针与静态数组的sizeof操作      指针均可看为变量类型的一种。所有指针变量的sizeof 操作结果均为

2015-03-06 21:18:29 366

转载 0, \0, NULL的区别

这个都知道在哪里用,但是道理不清楚。然后google 了一下,一个比较好的解释虽然是英文,但是很经典。1.0 is an integer constant2.'\0' is a character constant3.NULL is a macro(宏) defined in several standard headers(标准头文件)4.nul is

2015-03-06 21:00:51 254

转载 strlen和sizeof的区别

一、sizeof    sizeof(...)是运算符,而不是一个函数。    一个简单的例子:int a;cout    在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。    它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。    由于在编译时计算,因此sizeof不能用来返回动态分配的

2015-03-06 20:51:02 223

转载 Linux下多进程编程之exec函数语法及使用实例

exec函数族    1)exec函数族说明    fork()函数用于创建一个子进程,该子进程几乎复制了父进程的全部内容,但是,这个新创建的进程如何执行呢?exec函数族就提供了一个在进程中启动另一个程序执行的方法。它可以根据指定的文件名或目录名找到可执行文件,并用它来取代原调用进程的数据段、代码段和堆栈段,在执行完之后,原调用进程的内容除了进程号外,其他全部被新的进程替换了。另外,这里

2015-03-02 09:36:17 827

Cat技术入门总结

Cat技术入门总结

2017-12-20

SELinux 类权限 ObjectClassesPerms

SELinux 类权限 ObjectClassesPerms

2015-08-14

The_SELinux_Notebook

The_SELinux_Notebook

2015-08-14

SEAndroid SELinux sepolicy

SEAndroid SELinux sepolicy

2015-08-13

计算机网络方面的面试基础题(超级全哦)

计算机网络方面的面试基础题(超级全哦).

2015-08-10

Gradle_Beyond_the_Basics

Gradle_Beyond_the_Basics

2015-08-10

GradlePluginUserGuideChineseVerision

GradlePluginUserGuideChineseVerision

2015-08-10

#真题#阿里巴巴客户端笔试题

#真题#阿里巴巴客户端笔试题

2015-08-04

(腾讯)后台开发面试题解答

(腾讯)后台开发面试题解答

2015-08-04

oxygen xml editor 17.0.7z keygen

oxygen xml editor 17.0.7z keygen oxygen xml editor 17.0.7z keygen oxygen xml editor 17.0.7z keygen oxygen xml editor 17.0.7z keygen oxygen xml editor 17.0.7z keygen

2015-07-29

java基础教程_Java快车

我对北京JAVA快车培训的了解:北京JAVA快车培训是北京汇才同飞软件技术研究院2009年的重点培训项目之一,是JAVA培训界的后起之秀, 北京JAVA快车是小规模实力精华型培训机构,在公司一线做了三年、五年的技术比较精湛同事一起做培训,教师专业技术精,课程设置比较前沿,有丰富的实践经验,学习过程中有真实的项目练习,开班人数少,一般每个班15-20人。学期5个月,体验学习30天再交学费.所以培训质量还是过硬的;因为是老师自己的机构,也比较负责任特敬业,以学生的就业率和入职工资为口碑,因为没有其它如广告类的开销,收费比较低,《北京JAVA快车》培训在业界比较受欢迎

2015-07-29

空空如也

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

TA关注的人

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