Android学习总结(一)

1:Android中五种数据存储方式分别是什么?他们的特点?     (1)SharedPreference,存放较少的五种类型的数据,只能在同一个包内使             用,生成XML的格式存放在设备中     (2) SQLite数据库,存放各种数据,是一个轻量级的嵌入式数据...

2015-09-24 15:14:06

阅读数 289

评论数 0

随机数、随机函数、大数随机及等概率探讨

近日在做一个入职练习中,我遇到了随机数的问题,将分析过程做些整理。         本文主要讨论大范围内随机数的产生办法,讨论在随机范围内的等概率问题。         一、要求         1、产生一个比较大的随机数。         2、产生的随机数在随机范围内等概...

2015-09-14 18:17:32

阅读数 351

评论数 0

应用 Valgrind 发现 Linux 程序的内存问题

简介: 如何定位应用程序开发中的内存问题,一直是 Linux 应用程序开发中的瓶颈所在。有一款非常优秀的 linux 下开源的内存问题检测工具:valgrind,能够极大的帮助你解决上述问题。掌握 valgrind 的使用以及工作原理,能够有效地定位进而避免应用开发中的内存问题。 Valgr...

2015-09-14 18:16:33

阅读数 252

评论数 0

如何在linux下检测内存泄漏

简介: 本文针对 linux 下的 C++ 程序的内存泄漏的检测方法及其实现进行探讨。其中包括 C++ 中的 new 和 delete 的基本原理,内存检测子系统的实现原理和具体方法,以及内存泄漏检测的高级话题。作为内存检测子系统实现的一部分,提供了一个具有更好的使用特性的互斥体(Mutex)类。...

2015-09-14 18:15:38

阅读数 214

评论数 0

Linux多线程编程

——本文一个例子展开,介绍Linux下面线程的操作、多线程的同步和互斥。 前言 线程?为什么有了进程还需要线程呢,他们有什么区别?使用线程有什么优势呢?还有多线程编程的一些细节问题,如线程之间怎样同步、互斥,这些东西将在本文中介绍。我在某QQ群里见到这样一道面试题: 是否熟悉PO...

2015-09-14 18:14:39

阅读数 251

评论数 0

Linux下的Socket编程

"一切皆Socket!" 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。 ——有感于实际编程和开源项目研究。 我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web 服务器通信的?当你用...

2015-09-14 18:13:56

阅读数 244

评论数 0

为bash添加内置命令(built-in)的方法

在bash命令行工作中,为常用的操作编写一个脚本或外部命令是很容易的。事实上自己添加一条内置命令(built-in)也并不难。内置命令比脚本和外部命令的执行效率更高,还可以访问脚本和外部命令无法深入的bash内部,只是可移植性下降了。    GNU bash的源代码结构较为清晰。源代码目录(...

2015-09-14 18:12:03

阅读数 390

评论数 0

说说计算机中的异常

开篇 异常这个名词应该大家都不陌生,很多人都听说过。系统调用知道吧?其实系统调用也是一种异常。但是具体的什么是异常呢?他在计算机中有什么作用?他是如何工作,如何被我们利用的?我想很多人都还不都是很清楚。、 了解异常有诸多好处,可以让你更好的理解操作系统和应用程序的交互,更好的理解并发等...

2015-09-14 18:11:28

阅读数 347

评论数 0

GCC编译的背后( 预处理和编译 汇编和链接 )

平时在Linux下写代码,直接用"gcc -o out in.c"就把代码编译好了,但是这后面到底做了什么事情呢?如果学习过编译原理则不难理解,一般高级语言程序编译的过程莫过于:预处理、编译、汇编、链 接。gcc在后台实际上也经历了这几个过程,我们可以通过-v参数查看它的编译细...

2015-09-14 18:10:36

阅读数 465

评论数 0

系统调用、POSIX、C库、系统命令和内核函数

摘要:《Linux内核修炼之道》第5章讲解系统调用,它是应用程序和内核间的桥梁,学习并理解它是我们走向内核的一个很好的过渡。本节为大家介绍系统调用、POSIX、C库、系统命令和内核函数。  5.1.1  系统调用、POSIX、C库、系统命令和内核函数 (1)系统调用和POSIX。 ...

2015-09-14 18:09:52

阅读数 400

评论数 0

linux常用的makefile模版编写

linux常用的makefile模版编写 在linux下面,我们不得不自己写makefile,makefile的确博大精深,但是实际上对于日常的使用来说,无非就是  1:编译可执行程序。2:编译lib库 3:编译so库  本博针对上面三种目的各自写出了makefile模版,希望对大家有所...

2015-09-14 18:08:55

阅读数 223

评论数 0

linux下C程序printf没有立即输出的问题及我的Makefile文件

昨天在linux下运行一个C程序,是处理一段视频中的每一帧的,本来在程序中是要每处理完一帧就要输出一条信息的,但是在运行是却不显示,而是在程序运行完成之后一块输出的,但是在windows中运行程序就没有这个问题。如果是这样的话,就非常不爽了,因为本来是想通过程序的输出来得到程序当前的运行状况,现在...

2015-09-14 18:08:21

阅读数 986

评论数 0

C中计算程序运行时间差(毫秒级)

最近在跑一些程序,需要计算程序运行的时间,然后搜索了一下相关的材料,发现下面的一个比较好的方法,可以实现毫秒级的计时:  #include  #if defined(WIN32) # define  TIMEB    _timeb # define  ftime    _f...

2015-09-14 18:07:34

阅读数 919

评论数 0

struct内存对齐:gcc与VC的差别

内存对齐是编译器为了便于CPU快速访问而采用的一项技术,对于不同的编译器有不同的处理方法。 Win32平台下的微软VC编译器在默认情况下采用如下的对齐规则: 任何基本数据类型T的对齐模数就是T的大小,即sizeof(T)。比如对于double类型(8字节),就要求该类型数据的地址总是8的倍数...

2015-09-14 18:07:01

阅读数 468

评论数 0

gcc中常用的选项

开始学习在Linux下写程序,利用gcc进行编译的时候经常需要添加一些选项,为了便于查找,将这写常用的选项整理出来。 GCC常用选项     -c 通知GCC取消链接步骤,即编译源码并在最后生成目标文件;     -Dmacro 定义指定的宏,使它能够通过源码中的#ifdef进行检验; ...

2015-09-14 18:06:23

阅读数 249

评论数 0

main函数可否被递归调用

在C和C++中是不同的,我们知道C语言比较宽松、灵活,而C++的目标就是改变C语言比较宽松的特点,实行了比较严格的做法,包括严格的类型检查等等。实际上,在C语言中,main函数可被递归调用,而在C++标准中,main函数不可以被递归调用。 C中递归调用: (参考:http://blog.csdn....

2015-09-14 18:05:45

阅读数 1652

评论数 0

C语言中将结构体写入文件

可以使用fwrite()将一个结构体写入文件:   fwrite(&some_struct,sizeof somestruct,1,fp); 对应的fread函数可以再把它读出来,此处fwrite受到一个结构的指针并把这个结构的内存映像作为字节流写入文件。sizeof操作符计算出结构占...

2015-09-14 18:05:00

阅读数 4775

评论数 0

C中数组与指针及多维数组

C中的字符串数组与字符串指针的区别 从上面的截图,我们可以看到字符数组和字符串的差别。他们的类型是不同的,比如上面的代码中,filename的类型是char[12],而pname的类型是char*,&filename的结果是数组指针,图中显示的是char[12...

2015-09-14 18:04:11

阅读数 234

评论数 0

浮点数在内存中的表示

c语言中的浮点数在内存中的表示(VC++编译器中): char:1个字节 short:2个字节 int:4字节 long:4字节 float:4字节(单精度) double:8字节(双精度)  参考:http://www.cnblogs.com/jil...

2015-09-14 18:03:41

阅读数 255

评论数 0

C/C++语言中const的用法

1. const 在C和C++中的区别 C++中的const正常情况下是看成编译期的常量,编译器并不为const分配空间,只是在编译的时候将期值保存在名字表中,并在适当的时候折合在代码中. 所以在C++中const修饰的量可以用在数组的定义中。 而在C中,const是一个不能被改变的普...

2015-09-14 18:02:51

阅读数 211

评论数 0

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