- 浏览: 539931 次
- 性别:
- 来自: 杭州
最新评论
-
GGGGeek:
看完了博主的博文,如果没猜错的话应该是浙大吧?很多优秀的人因为 ...
转《D君的故事》 以时刻警示自己 -
游牧民族:
楼主写的不错,学习了,最近对爬虫比较感兴趣,也写了些爬虫相关的 ...
通用爬虫框架及heritrix爬虫介绍 -
jimmee:
jerome_s 写道ice 你怎么看? 粗略的看了一下ice ...
MessagePack, Protocol Buffers和Thrift序列化框架原理和比较说明 -
jerome_s:
ice 你怎么看?
MessagePack, Protocol Buffers和Thrift序列化框架原理和比较说明 -
jimmee:
nk_tocean 写道照着做了,但是不行啊,还是乱码.先确认 ...
hive编写udf处理非utf-8数据
文章列表
1.安装mysql-server,在Ubuntu 10.04下安装mysql-server-5.1,会自动安装mysql-client_5.1 sudo apt-get install mysql-server-5.1
2.C APIs包含在mysqlclient库文件中与MySQL的源代码一块发行,用于连接到数据库和执行数据库查询,因此需要安装libmysqlclient-dev sudo apt-get install libmysqlclient-dev 假定已安装成功,相关文件如下: 头文件在/usr/include/mysql目录下; 库文件在/usr/lib/mysq ...
#include <iconv.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
#include <sys/stat.h>
int code_convert(char *from_charset, char *to_charset, char *inbuf, size_t inlen,
char *outbuf, size_t out ...
tcpdump is the premier network analysis tool for information security professionals. Having a solid grasp of this über-powerful application is mandatory for anyone desiring a thorough understanding of TCP/IP. Many prefer to use higher level analysis tools such as Ethereal Wireshark, but I believe th ...
As a network administrator, you've got to cultivate a certain amount of professional paranoia. tcpdump indulges your need to know and tells you exactly what's going on over your networks.
By Carla Schroder | Posted Dec 1, 2004
I confess, I'm an outlaw at heart. I like using packet s ...
1. 使用struct来保存数据
2. 使用struct里面的函数指针指向相应的函数
#include <stdlib.h>
#include <stdio.h>
// 不完整的声明,方便后面函数指针类型变量的定义
struct Person;
typedef struct Person *PPerson;
typedef void (*setAge)(PPerson person, int age);
typedef int (*getAge)(PPerson person);
/**
* 结构体,包含普通的变量(数据 ...
介绍
在不同的系统中建立动态链接库的方法有很大的差别,这主要是因为每个系统对动态链接库的看法和实现并不相同,以及编译器对动态链接库支持的选项也不太一样。对于开发人员,如果尝试将使用动态库的软件在这些系 ...
gcc -D
【gcc -D】
-D name
Predefine name as a macro, with definition 1.
通常debug和release版的区别就在于是否有DEBUG宏,DEBUG宏可以通过-D选项传递。如:-DDEBUG
参考:
1、http://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/Preprocessor-Options.html#Preprocessor-Options
2、http://blog.csdn.net/blaider/article/details/7043444
...
最近在看国际化编程 (i18n: internationalization) 的东西,也弄清楚了点字符集有关的一些问题,其实网上的一些牛人已经将字符集、Unicode 等相关的问题说的很清楚了,我在这里引用他们的总结并自己小结一下心得,并且实验一下在编译时,源代码自身的字符集与编译生成工具之间的问题。
locale与字符集
locale,中文有时翻译成“现场”,还不如叫英文的locale好,它的意思是“一套和地域有关的习惯而形成的程序运行上下文”,它由很多方面 (category) 组成,比如:某个地区的人们习惯怎样表示他们的货币金额 (LC_MONETARY) ,是用 "$ ...
1. linux c的时间操作的函数关系图如下:
2. strftime时间格式化的说明如下:
specifier
Replaced by
Example
%a
Abbreviated weekday name *
Thu
%A
Full weekday name *
Thursday
不从分配的地址开始访问, 希望跳过一些字节, 怎么处理?
如下一段代码正确么(假设文件名为test.c)?
#include <stdio.h>
#include <stdlib.h>
int main(void) {
void *p = malloc(20);
printf("%p\n", p);
char *t = (char *)(p + 1);
printf("%p\n", t);
free(p);
return 0;
}
使用gcc -S -masm=intel t ...
1. 摩尔定律(机器计算速度已经越来越快), 大数据(有了数据), 数学模型, 三者加在一起, 能起到质的变化
2. 大数据: 不仅仅是量大, 不仅仅是结构化与非结构化的区别, 需要多维度的数据(例如一个人的细胞, 数据量很大, 但是只是一个样本, 作用应该也不大), 数据越完备越好.
3. 未来机器智能的发展, 可能会2%的人控制98%的人.
4. 机器不会完全替代人, 人类拥有的是丰富的想象力.
直接使用c, 有个好处, 自己可以完全控制内存啊,一切脑海中记住内存及指针, 就很容易知道操作是怎样.
1. 分配一段内存, 这段内存使用什么样的指针操作, 那么对应就是多少字节的操作, 也就是说, 看你怎么去解释
这块内存了.
例如, 若分配给一个10个字节的类型, 如果用一个int类型的指针指向这块内存, 那么一次操作, 就是int的字节的大小, 如果一个struct指向这块内存, 那么一次操作就是针对这个struct的内存的大小, 如果是一个数组指向这块内存, 那么就是连续的这个数组的元素类型的字节了.
2. 怎么改变内存中指针的指向, 进行指针的加减就行了 ...
0. 背景
原子操作就是不可再分的操作。在多线程程序中原子操作是一个非常重要的概念,它常常用来实现一些同步机制,同时也是一些常见的多线程Bug的源头。本文主要讨论了三个问题:1. 多线程程序中对变量的读写操作是否是原子的?2. 多线程程序中对Bit field(位域)的读写操作是否是线程安全的?3. 程序员该如何使用原子操作?
1. 多线程环境下对变量的读写操作是否是原子的?
我们先从一道很热门的百度笔试题讲起。很多人讲不清楚其背后的原理,下面我们就来对它进行一下剖析(其实这个题目有点歧义,后面我们会讲到):
以下多线程对int型变量x的操作,哪几个需要进行同步:( )A. x=y ...
原文地址 作者:Martin Thompson 译者:一粟 校对:无叶,方腾飞
本文我将和大家讨论并发编程中最基础的一项技术:内存屏障或内存栅栏,也就是让一个CPU处理单元中的内存状态对其它处理单元可见的一项技术。
CPU使用了很多优化技术来实现一个目标:CPU执行单元的速度要远超主存访问速度。在上一篇文章 “Write Combing (合并写)”中我已经介绍了其中的一项技术。CPU避免内存访问延迟最常见的技术是将指令管道化,然后尽量重排这些管道的执行以最大化利用缓存,从而把因为缓存未命中引起的延迟降到最小。
当一个程序执行时,只要最终的结果是一样的,指令是否被重排并不重要。 ...
原文地址 译者:无叶 校对:丁一
现代CPU采用了大量的技术来抵消内存访问带来的延迟。读写内存数据期间,CPU能执行成百上千条指令。
多级SRAM缓存是减小这种延迟带来的影响的主要手段。此外,SMP系统采用消息传递协议来 ...