注意内存对齐,应该申请多少内存

Publish: March 12, 2016 Category: C/C++ No Comments

以 16 字节做内存对齐,申请n个字节内存,应该是多大:

#define ALIGNMENT  16  # 假设用16对齐

unsigned int n = ALIGNMENT + n - (n & (ALIGNMENT - 1));

char *str = (char *)malloc(n);



安装CentOS7之后

Publish: March 11, 2016 Category: Shell No Comments

一、安装网络

安装完CentOS7后,你可能没有连接网络,这就是以太网接口不能用的原因:

1. 使用"nmcli d"识别出你机器上的网卡

[root@localhost ~]# nmcli d
DEVICE       TYPE     STATE             CONNECTION
eno16777736  ethernet disconnected      --
lo           loopback unmanaged         --

这里"eno16777736"就是接口。

2. 命令行输入"nmtui"命令:

[root@localhost ~]# nmtui

选择: Edit a connection ---> eno16777736 (你的可以是其它名子) ---> Edit

3. 配置DHCP

设定 IPv4 CONFIGURATION <Automatic>

选择自动连接: [x] Automatically connect

点击 OKQuit 网络管理

3.重启

[root@localhost ~]# systemctl restart network
[root@localhost ~]# reboot

阅读剩余部分...

automake autoconf 制作动态、静态库、源码包

Publish: March 9, 2016 Category: Shell,C/C++ No Comments

----------------- 制作静态库 --------------------

一、生成文件:

$ touch NEWS README ChangeLog AUTHORS

二、生成configure.scan:

$ autoscan

三、修改configure.ac:

$ mv configure.scan configure.ac

修改configure.ac:

1. 修改:
  AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS])
  AC_INIT([libconfparser.x86], [1.0], [kyosold@qq.com])
2. 删除: 
  AC_CONFIG_HEADERS([config.h])
3. 添加:
  AM_INIT_AUTOMAKE([foreign -Wall -Werror])
4. 配置编译器:
  a. gcc: AC_PROG_CC
  b. g++: AC_PROG_CXX
5. 添加库依赖检查:
  AC_CHECK_LIB([lib], [function], [action_if_found], [action_if_not_found])
  如果编译链接时: -luuid 调用时使用了函数:uuid_generate
  AC_CHECK_LIB([uuid], [uuid_generate], [], [AC_MSG_ERROR([Could not find library -luuid])])
6. 制作动态库:
  AC_PROG_RANLIB
7. 修改AC_OUTPUT,每个目录一个Makefile:
  AC_OUTPUT([Makefile src/Makefile])

阅读剩余部分...

Tips:解决使用Mac自带的终端输入sz/rz后卡住问题

Publish: March 7, 2016 Category: Shell No Comments

使用Mac自带的终端无意中输入: sz、rz后,会被卡住。

解决: 仅连续4次输入ctrl+x即可解决。

原因:原因是在Xmodem协议中,ctrl+x 为信号 CAN,在协议中为“无条件中止”信号,但不知道为什么要连续4个,难道是用于补全??


引用:

    Xmodem protocol

    控制字符


使用autoconf和automake制作源码包

Publish: March 7, 2016 Category: Shell,C/C++ No Comments

经上图,可以看到一共使用4个命令:autoscan, aclocal, autoconf, automake

阅读剩余部分...