2014年4月24日

linux awk 内置函数详细介绍(实例)

摘要: 这节详细介绍awk内置函数,主要分以下3种类似:算数函数、字符串函数、其它一般函数、时间函数一、算术函数:以下算术函数执行与 C 语言中名称相同的子例程相同的操作:函数名说明atan2( y, x )返回 y/x 的反正切。cos( x )返回 x 的余弦;x 是弧度。sin( x )返回 x 的正... 阅读全文

posted @ 2014-04-24 14:13 袁军峰 阅读(256) 评论(0) 推荐(0)

2014年4月14日

无法import的原因(ImportError: No module named *****)

摘要: python中,每个py文件被称之为模块,每个具有__init__.py文件的目录被称为包。只要模块或者包所在的目录在sys.path中,就可以使用import 模块或import 包来使用。如果想使用非当前模块中的代码,需要使用Import,这个大家都知道。如果你要使用的模块(py文件)和当前模块... 阅读全文

posted @ 2014-04-14 19:29 袁军峰 阅读(435) 评论(0) 推荐(0)

2014年4月4日

C语言中volatile关键字的作用[转]

摘要: 一.前言1.编译器优化介绍:由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度。以上是硬件级别的优化。再看软件一级的优化:一种是在编写代码时由程序员优化,另一种是由编译器进行优化。编译器优化常用的方法有:将内存变量缓存到寄存器;调整指令顺序充分利用CPU指令流水线,常见的是重新排序读写指令。对常规内存进行优化的时候,这些优化是透明的,而且效率很好。由编译器优化或者硬件重新排序引起的问题的解决办法是在从硬件(或 阅读全文

posted @ 2014-04-04 13:55 袁军峰 阅读(265) 评论(0) 推荐(0)

2014年3月27日

数据对齐 posix_memalign 函数详解

摘要: 对齐数 据的对齐(alignment)是指数据的地址和由硬件条件决定的内存块大小之间的关系。一个变量的地址是它大小的倍数的时候,这就叫做自然对齐 (naturally aligned)。例如,对于一个32bit的变量,如果它的地址是4的倍数,-- 就是说,如果地址的低两位是0,那么这就是自然对齐了。所以,如果一个类型的大小是2n个字节,那么它的地址中,至少低n位是0。对齐的规则是由硬件引起 的。一些体系的计算机在数据对齐这方面有着很严格的要求。在一些系统上,一个不对齐的数据的载入可能会引起进程的陷入。在另外一些系统,对不对齐的数据的 访问是安全的,但却会引起性能的下降。在编写可移植的代码的时候 阅读全文

posted @ 2014-03-27 14:47 袁军峰 阅读(5653) 评论(0) 推荐(2)

2014年3月26日

android ndk中使用gprof

摘要: 1、下载gprof支持库下载地址:http://code.google.com/p/android-ndk-profiler/2、代码上的修改添加 在初始化时:monstartup("yourlib.so"); 在退出时添加:setenv("CPUPROFILE", "/sdcard/gmon.out", 1);moncleanup();3、makefile文件修改:由于-pg 和 -fomit-frame-pointer -ffunction-sections不能兼容,所以后两个编译参数不能用。PIG = -pginclude=$( 阅读全文

posted @ 2014-03-26 14:36 袁军峰 阅读(818) 评论(0) 推荐(0)

2014年3月24日

宽字符与窄字符

摘要: 什么是宽字符与窄字符(1) 一个ANSI字符占一个字节共8位,一个UNICODE字符占两个字节共16位;ANSI字符串以’\0’结束,0x00。#Q:UNICODE字符串以什么结束??#A:UNICODE字符串以L”\0”结束,0x0000。(2)UNICODE和ANSI字符的相关定义及应用在各种运行库中的体现如下:1) 在C标准库中i. UNICODE在C标准库下编译的宏定义为_UNICODEii. 宽字符的数据类型为wchar_t,窄字符的数据类型为char。数据类型的定义在头文件string.h中,对wchar_t的定义为:{{{typedefunsignedshortwchar_t;} 阅读全文

posted @ 2014-03-24 22:14 袁军峰 阅读(6133) 评论(0) 推荐(0)

UTF8与ANSI互转

摘要: 在取回的结果中,如果有Unicode字符,用printf来打印的话,则会出现乱码。通过这个方法,可以判断是否为unicode字符,是的话,通过wprintf来打印。1、判断字符串是否为Unicode的方法不用判断,在xmlhttp.send中发送的代码都经过utf8编码2、将UTF8转化为ANSI编码的方法,UTF8中一个中文字有三个字节去表示,而ANSI中一个中文字是二个字节表示。BOOL Utf8ToAnsi(LPCSTR lpcszStr, char* lpwszStr, DWORD dwSize){ DWORD dwMinSize; WCHAR* strTmp ; dwMinSize 阅读全文

posted @ 2014-03-24 19:07 袁军峰 阅读(9807) 评论(0) 推荐(0)

2014年3月23日

C#中的字符串及其编码转换

摘要: 关于字符编码以及如何在程序中处理unicode,本想写篇文章总结学习一下,但发现有前人已经论述的很完善了,不再重复,可以参考:http://www.regexlab.com/zh/encoding.htm。 在C++中,字符有char和wchar之分,相应的,字符串有string和wstring两种。 C#中,string是一个unicode字符串,相应的,每个char都是16位。 源文件中出现的字符串常量,都会被自动转换为unicode编码(utf16),利用Text.Encoding,可以实现不同编码间的转换。using System; using System.Text; na... 阅读全文

posted @ 2014-03-23 21:19 袁军峰 阅读(2639) 评论(0) 推荐(0)

2014年3月20日

小米手机开发遇到的问题

摘要: 今天开始小接触一下andoid开发,拿了一个小米测试机,遇到两个问题:1)小米手机不识别 adb devieces : 没显示 解决:从网上招到一个叫51-andoid.rules的文件,拷贝到/etc/udev/rules.d/ 下,重启一个shell终端即可解决问题。2)电脑上的文件拷贝不到手机上 err:failed to copy '/home/usa/svn/aispeech/speechplatform/branches/temp/wvite/b.out' to '/sdcard/b.out': Operation not permitted 解决: 阅读全文

posted @ 2014-03-20 17:02 袁军峰 阅读(466) 评论(0) 推荐(0)

2014年3月19日

Linux进程的实际用户ID和有效用户ID

摘要: 本人对Unix下的进程的实际用户ID和有效用户ID一直都比较迷惑,没有完全搞清楚。最近温习APUE(《高级UNIX环境编程》),终于对这两个概念有了一个清晰的认识,看来经典著作绝对需要温习多遍,才能领略其中的奥秘。 在Unix进程中涉及多个用户ID和用户组ID,包括如下:1、实际用户ID和实际用户组ID:标识我是谁(据说这是一个变态的哲学问题,难死一片哲学家)。也就是登录用户的uid和gid,比如我的Linux以simon登录,在Linux运行的所有的命令的实际用户ID都是simon的uid,实际用户组ID都是simon的gid(可以用id命令查看)。2、有效用户ID和有效用户组ID:进程用来 阅读全文

posted @ 2014-03-19 19:10 袁军峰 阅读(440) 评论(0) 推荐(0)

导航