资源简介
把libiconv-1.14源码移植到windows平台上,里面包含完整的VS2013工程,可以按照需要编译出自己的libiconv库

代码片段和文件信息
/* Copyright (C) 1999-2001 2003 2005 2008 Free Software Foundation Inc.
This file is part of the GNU LIBICONV Library.
The GNU LIBICONV Library is free software; you can redistribute it
and/or modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either version 2
of the License or (at your option) any later version.
The GNU LIBICONV Library is distributed in the hope that it will be
useful but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU LIBICONV Library; see the file COPYING.LIB.
If not write to the Free Software Foundation Inc. 51 Franklin Street
Fifth Floor Boston MA 02110-1301 USA. */
/* Creates the aliases.gperf table. */
#include
#include
static void emit_alias (FILE* out1 const char* alias const char* c_name)
{
/* Output alias in upper case. */
const char* s = alias;
for (; *s; s++) {
unsigned char c = * (unsigned char *) s;
if (c >= 0x80)
exit(1);
if (c >= ‘a‘ && c <= ‘z‘)
c -= ‘a‘-‘A‘;
putc(c out1);
}
fprintf(out1“ ei_%s\n“ c_name);
}
static void emit_encoding (FILE* out1 FILE* out2 const char* const* names size_t n const char* c_name)
{
fprintf(out2“grep ‘sizeof(\““);
/* Output *names in upper case. */
{
const char* s = *names;
for (; *s; s++) {
unsigned char c = * (unsigned char *) s;
if (c >= 0x80)
exit(1);
if (c >= ‘a‘ && c <= ‘z‘)
c -= ‘a‘-‘A‘;
putc(c out2);
}
}
fprintf(out2“\“)‘ tmp.h | sed -e ‘s|^.*\\(stringpool_str[0-9]*\\).*$| (int)(long)\\&((struct stringpool_t *)0)->\\1|‘\n“);
for (; n > 0; names++ n--)
emit_alias(out1 *names c_name);
}
int main ()
{
FILE* stdout2;
printf(“struct alias { int name; unsigned int encoding_index; };\n“);
printf(“%%struct-type\n“);
printf(“%%language=ANSI-C\n“);
printf(“%%define hash-function-name aliases_hash\n“);
printf(“%%define lookup-function-name aliases_lookup\n“);
printf(“%%7bit\n“);
printf(“%%readonly-tables\n“);
printf(“%%global-table\n“);
printf(“%%define word-array-name aliases\n“);
printf(“%%pic\n“);
printf(“%%%%\n“);
#define DEFENCODING(xxx_namesxxxxxx_ifuncs1xxx_ifuncs2xxx_ofuncs1xxx_ofuncs2) \
{ \
static const char* const names[] = BRACIFY xxx_names; \
emit_encoding(stdoutstdout2namessizeof(names)/sizeof(names[0])#xxx); \
}
#define BRACIFY(...) { __VA_ARGS__ }
#define DEFALIAS(xxx_aliasxxx) emit_alias(stdoutxxx_alias#xxx);
stdout2 = fdopen(3 “w“);
if (stdout2 == NULL)
exit(1);
#include “encodings.def“
if (fclose(stdout2))
exit(1);
stdout2 = fdopen(4 “w“);
if (stdout2 == NU
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 8229 2011-08-08 01:49 libiconv\libiconv\aliases.gperf
文件 69525 2011-08-08 01:49 libiconv\libiconv\aliases.h
文件 1271 2009-06-21 19:17 libiconv\libiconv\aliases2.h
文件 614 2011-08-08 01:49 libiconv\libiconv\aliases_aix.h
文件 824 2011-08-08 01:49 libiconv\libiconv\aliases_aix_sysaix.h
文件 1567 2011-08-08 01:49 libiconv\libiconv\aliases_dos.h
文件 525 2011-08-08 01:49 libiconv\libiconv\aliases_extra.h
文件 80 2011-08-08 01:49 libiconv\libiconv\aliases_osf1.h
文件 158 2011-08-08 01:49 libiconv\libiconv\aliases_osf1_sysosf1.h
文件 8412 2011-08-08 01:49 libiconv\libiconv\aliases_sysaix.gperf
文件 73930 2011-08-08 01:49 libiconv\libiconv\aliases_sysaix.h
文件 8447 2011-08-08 01:49 libiconv\libiconv\aliases_syshpux.gperf
文件 74862 2011-08-08 01:49 libiconv\libiconv\aliases_syshpux.h
文件 8327 2011-08-08 01:49 libiconv\libiconv\aliases_sysosf1.gperf
文件 73263 2011-08-08 01:49 libiconv\libiconv\aliases_sysosf1.h
文件 8360 2011-08-08 01:49 libiconv\libiconv\aliases_syssolaris.gperf
文件 75202 2011-08-08 01:49 libiconv\libiconv\aliases_syssolaris.h
文件 4326 2009-06-21 19:17 libiconv\libiconv\armscii_8.h
文件 1283 2009-06-21 19:17 libiconv\libiconv\ascii.h
文件 6847 2009-06-21 19:17 libiconv\libiconv\atarist.h
文件 261998 2009-06-21 19:17 libiconv\libiconv\big5.h
文件 5773 2009-06-21 19:17 libiconv\libiconv\big5hkscs1999.h
文件 6208 2009-06-21 19:17 libiconv\libiconv\big5hkscs2001.h
文件 6586 2009-06-21 19:17 libiconv\libiconv\big5hkscs2004.h
文件 6968 2010-11-24 10:24 libiconv\libiconv\big5hkscs2008.h
文件 20090 2009-06-21 19:17 libiconv\libiconv\big5_2003.h
文件 3320 2009-06-21 19:17 libiconv\libiconv\c99.h
文件 6684 2011-08-08 01:49 libiconv\libiconv\canonical.h
文件 551 2011-08-08 01:49 libiconv\libiconv\canonical_aix.h
文件 553 2011-08-08 01:49 libiconv\libiconv\canonical_aix_sysaix.h
............此处省略247个文件信息
- 上一篇:SCA103T 中文手册.pdf
- 下一篇:PLCopen part1&part2;
相关资源
- AE开发Windows最短路径分析
- pscad近海风电模型 Fortran语言
- Xamarin forms 手势事件
- 弹塑性力学Fortran算例
- IAR For ARM 7.3最新注册机
- IAR for MSP430 v7.10.1 注册机
- IAR For ARM V5.5 注册机
- IAR for ARM 7.40 破解
- IAR For ARM 7.4 破解
-
Windows em
bedded Compact 2013 应用开发调 - 黑苹果硬件兼容检测和查询软件
- 联想y470无线网卡驱动 for 32位64位
- 最新版TTF16.OCX Formula One v. 6.1.6.2 控件
- Uninstall_Cortana_WINCLIENT.CN.rar
- VMware65_SLP_DeLLSLIC2.1
- Windows异步套接字网络编程
- WINDOWS98启动盘镜像Win98.IMA
- 通风网络解算程序 fortran90
- 仿windows记事本
- Winform倒计时器
- windows7用的,非常漂亮的透明计时器
- WinForm属性编辑 propertyGrid示例 仿wind
- Winform调用系统的剪切,复制,粘贴文
- windows下制作macOS安装U盘,绝对简单好
- keil vcom windows 7 64bit 驱动
- windows ce 系统的GPIO驱动程序
- TCP 发包工具(windows)
- 微软的可以删除系统卸不干净的软件
- windows下生成MD5值的工具(WinMD5)
- windows cygwin ns2安装步骤
评论
共有 条评论