gcc ejabberd misc


1

nm to view the symbols in the static library

nm -A lib*.a


2 gcc

优化选项 (OPTIMIZATION OPTION)

这些选项 控制 多种 优化措施:

-O
-O1
优化. 对于 大函数, 优化编译 占用 稍微多 的 时间 和 相当大 的 内存.

不使用 `-O' 选项 时, 编译器 的 目标 是 减少 编译 的 开销, 使 编译结果 能够 调试. 语句 是 独立的: 如果 在 两条语句 之间 用 断点 中止 程序, 你 可以 对 任何 变量 重新 赋值, 或者 在 函数体 内 把 程序计数器 指到 其他语句, 以及 从 源程序 中 精确地 获取 你 期待 的 结果.

不使用 `-O' 选项 时, 只有 声明了 register 的 变量 才 分配使用 寄存器. 编译结果 比 不用 `-O' 选项 的 PCC 要 略逊一筹.

使用了 `-O' 选项, 编译器 会试图 减少 目标码 的 大小 和 执行时间.

如果 指定了 `-O' 选项, `-fthread-jumps' 和 `-fdefer-pop' 选项 将被 打开. 在 有 delay slot 的 机器 上, `-fdelayed-branch' 选项 将被 打开. 在 即使 没有 帧指针 (frame pointer) 也支持 调试 的 机器 上, `-fomit-frame-pointer' 选项 将被 打开. 某些机器 上 还可能会 打开 其他选项.

 

-O2多优化一些. 除了 涉及 空间 和 速度 交换 的 优化选项, 执行 几乎 所有的 优化工作. 例如 不进行 循环展开 (loop unrolling) 和 函数内嵌 (inlining). 和 -O 选项 比较, 这个选项 既增加了 编译时间, 也提高了 生成代码 的 运行效果.

 

-O3优化的更多. 除了 打开 -O2 所做的 一切, 它 还 打开 了 -finline-functions 选项.

 

-O0不优化.

如果 指定了 多个 -O 选项, 不管 带不带 数字, 最后一个 选项 才是 生效 的 选项.

3

-mstrict-align

-mno-strict-align
不允许 (或允许) 边界不对齐 的 访问.

4 jabberd

After installation of the package ejabberd is started. However a
ejabberdctl command fails.
As I noticed epmd is running but beam is not

To make ejabberdctl work I needed to "killall empd"
and /etc/init.d/ejabberd start

Then one epmd and one beam process was up and ejabberdctl works fine

 

sudo ejabberdctl status



你可能感兴趣的:(gcc ejabberd misc)