- 浏览: 40715 次
- 性别:
- 来自: 重庆市
最新评论
文章列表
Libffi介绍
高级语言的编译器根据一定的规则生成代码,这些规则对于不同编译器的工作是必须的。其中一个规则叫做“调用规则”(Calling Convention),它包含了编译器关于在函数入口处函数参数位置、函数返回值位置的一系列假设。它有时也被称作“ABI”(Application Binary Interface)。
一些程序在编译时可能不知道传给函数的参数是什么,例如,解释器在运行时才被告知调用给定函数的参数类型和数量。Libffi可以在这些函数中看做是连接要解释的函数和编译后的代码之间的桥梁。
“Libffi”库为多种调用规则提供了可移植的高级语言编程接口,这使得程序员在运行时可以调用 ...
icu4c
ICU4C是ICU在C/C++平台下的版本, ICU(International Component for Unicode)是基于"IBM公共许可证"的,与开源组织合作研究的, 用于支持软件国际化的开源项目。ICU4C提供了C/C++平台强大的国际化开发能力,软件开发者几乎可以使用ICU4C解决任何国际化的问题,根据各地的风俗和语言习惯,实现对数字、货币、时间、日期、和消息的格式化、解析,对字符串进行大小写转换、整理、搜索和排序等功能,必须一提的是,ICU4C提供了强大的BIDI算法,对阿拉伯语等BIDI语言提供了完善的支持。
ICU首先是由Talig ...
%a 星期几的简写;如 星期三为Web
%A 星期几的全称;如 星期三为Wednesday
%b 月分的简写; 如4月份为Apr
%B 月份的全称; 如4月份为April
%c 标准的日期的时间串;(如: 04/07/10 10:43:39)
%C 年份的后两位数字
%d 十进制表示的每月的第几天
%D 月/天/年
%e 在两字符域中,十进制表示的每月的第几天
%F 年-月-日
%g 年份的后两位数字,使用基于周的年
%G 年分,使用基于周的年
%h 简写的月份名
%H 24小时制的小时
%I 12小时制的小时
%j 十进制表示的每年的第几天
%m 十进制表示的月 ...
OS : Suse 10
Ver : Poco 1.3.5
Compiler : GNU gcc 4.3.2 for ARM
前置条件 : STLport for ARM 已经编译成功
1. 确保ARM编译成功安装,并配置好环境变量。
2. 解压Poco压缩包
3. 进入Poco目录,执行./configure --no-tests --omit=NetSSL_OpenSSL,Crypto,Data --config=ARM-Linux
4. 编辑build/config/ARM-Linux,修改一下配置(STLport编译后执行make install)
...
OS : Suse 10
Ver : STLport-5.2.1
Compiler : GNU gcc 4.3.2 for ARM
1. 确保ARM编译成功安装,并配置好环境变量。
2. 解压STLport-5.2.1.tar.gz压缩包
3. 进入STLport-5.2.1目录,执行./configure --target=arm-linux
4. 修改stlport/stl/_cstdlib.h
搜索宏定义 _STLP_NO_VENDOR_STDLIB_L 共2处,将这2处下的if !defined(__sun)分别修改为
1处 #if !d ...
OS : Suse 10
Boost Ver: 1.44
Compiler : GNU gcc 4.3.2 for ARM
1. 确保ARM编译成功安装,并配置好环境变量。
2. 解压boost压缩包
3. 进入目录执行./bootstrap.sh, 此时形成bjam文件和project-config.jam
4. 编辑project-config.jam, 仅修改using gcc这行。因为我使用的是arm-linux-gcc,所以将其改以下即可:
using gcc : : arm-linux-gcc ;
5. 执行./bjam stage, ok大功告成.
6. 形 ...
以动手实践为荣 , 以只看不练为耻 ;
以打印日志为荣 , 以单步跟踪为耻 ;
以空格缩进为荣 , 以制表缩进为耻 ;
以单元测试为荣 , 以人工测试为耻 ;
以模块复用为荣 , 以复制粘贴为耻 ;
以多态应用为荣 , 以分支判断为耻 ;
以Pythonic为荣 , 以冗余拖沓为耻 ;
以总结分享为荣 , 以跪求其解为耻 ;
ACE的DEMO程序有些问题:
如下:
int AIO_CLD_Connector::validate_connection
(const ACE_Asynch_Connect::Result& result,
const ACE_INET_Addr &remote, const ACE_INET_Addr&) {
remote_addr_ = remote;
if (!result.success ()) {
ACE_Time_Value delay (retry_delay_);
retry_delay_ *= 2;
if ...
1. Singleton模式简介
Singleton是GOF圣经中最简单的一个模式了,主要用于创建在系统中具有唯一实例又需要到处使用的类,实现起来非常简单。
#include <iostream>
using namespace std;
class my_singleton
{
public:
static my ...
#include "ace/OS.h"
#include "ace/Log_Msg.h"
int main (int argc, char *argv[])
{
ACE_DEBUG((LM_DEBUG,"Hello, ACE! "));
ACE_OS::exit(1);
return 0;
}
这么就不写makefile了,直接用g++编译就是了。
编译
g++ hello.cpp -o hello -lACE
运行:
. ...
1994年,C++标准委员会在圣迭哥举行的一次会议期间Erwin Unruh展示了一段可以产生质数的代码。这段代码的特别之处在于质数产生于编译期而非运行期,在编译器产生的一系列错误信息中间夹杂着从2到某个设定值之间的所有质数: ...
Windows平台上编译安装ACE 收藏
一、获取ACE http://download.dre.vanderbilt.edu/。
二、ACE的编译和安装步骤见http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/ACE-INSTALL.html。TAO的编译和安装步骤见http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/TAO/TAO ...
交叉编译apache服务器for ARM Linux2010-02-23 18:391. 从http://www.apache.org/ 上下载apache_1.3.39.tar.gz,然后解压缩的一个目录,然后转到apache_1.3.39目录。
2. 使用本地的gcc编译这个版本,我用的是FC6上的gcc 4.1,运行:
./ configure
make 完成后,不需要make install
3. 然后创建一个新的编译arm版本的目录,然后在那个目录下解压缩apache_1.3.39.tar.gz,转到该目录下的apache_1.3.39,运行:
export CC="arm- ...
ACE的编译和安装,for windows、Linux2006-10-11 09:14from www.acejoy.com ACE网络编程开发论坛
一. Windows下for MSVC的安装与配置
我们用的是ACE-5.4+TAO-1.4+CIAO-0.4.zip,Windows下解压缩该压缩包到目标路径(设为D:\ACE_wrappers ),
创建文件:$ACE_ROOT/ace/config.h,增加一行:
#include "ace/config-win32.h"
如果是在Windows 9x/Me下,需要在$ACE_ROOT/ace/config.h中# ...
1. 下载安装ActivePerl
2. 下载ACE,并解包
我解压到D:\ACE_wrappers
3. 设置环境变量
在系统环境变量中, 新建变量名为 ACE_ROOT, 变量值为 D:\ACE_wrappers
编辑 原来 Path 环境变量的值,在原来值的末尾 加入 D:\ACE_wrappers\lib
4. 在D:\ACE_wrappers\ace 目录下创建 config.h文件,文件内容如下
#include "ace/config-win32.h"
5. 用MPC生成vc2008的工程文件
运行C ...