快乐虾的工具箱-0.0.2

本文分享了作者在移植Cygwin过程中实现与VS2008 CRT共存的经验,介绍了移植过程中遇到的主要挑战及解决方案,如函数重命名、main函数调整及fork机制使用限制。

经过前段时间的学习,终于理解了cygwin的大部分运行机制,只是很遗憾对其signal关键技术的细节未能完全掌握,以致于依赖于signal机制的程序未能正确运行。还是采用老办法,先转移阵地,哪天再杀回来,嘿嘿。

先发布一个阶段性的版本,以示咱至少往前挪了一小步。这个版本包括以下内容:

Cygwin checkout 2008-09-28

Bash 4.0

Core-utils 7.6

Grep 2.5.4

Sed 4.2

Diffutils 2.8.1

由于signal机制的缺失,bash的下述测试脚本未能与正确结果完全一致:

array coproc cprint dirstack errors execscript extglob glob-test

heredoc herestr ifs-posix intl iquote jobs more-exp nquote2 nquote3

nquote4 posixpat precedence printf read redir rhs-exp rsh set-e

shopt trap type

有兴趣的可以到个人资源中下一个权当玩具:

http://lights_joy.download.youkuaiyun.com/

回顾整个过程,基本实现了当初的一个主要目标:让cygwin.dllvs2008crt和平共处!但是为了达到此目的,不得不做了一些牺牲:

1、对cygwin的所有导出函数进行了重命名的处理,比如open就变成了cyg_open,再由于批量替换的操作,导致了很多的提示字符串特别怪异。

2、需要先运行vs2008crt代码,然后再运行cygwincrt,于是一个很简单的main函数就变成了:

int

real_main (int argc, char **argv, char** envp);

int

main (int argc, char **argv)

{

return cygwin_crt0(real_main);

}

int

real_main (int argc, char **argv, char** envp)

{

………

原来的main函数。

}

3、虽然可以混合使用cygwin.dllvs的库,但是当需要使用fork的时候,很多东西就只能限制在使用cygwin.dll提供的函数。比如内存分配,文件操作等,在不使用fork的时候想用哪个都可以,但是如果要使用fork机制,则只能使用cygwin.dll

一个比较理想的状态应该是既允许只使用cygwin,也允许混合使用cygwinvs的库。通过一个简单的宏进行控制。

顺便发点感慨,虽然原来对libc的内容分类的判断基本准确,但是真正做完移植,才发现原来对libc的认识还是肤浅了一点!真的是不做不知道,一做吓一跳!

资源下载链接为: https://pan.quark.cn/s/9648a1f24758 ArcGIS 是一款在 GIS 领域被广泛运用的专业软件,主要用于地图制作、地理数据分析以及空间建模等。而“工具箱”是针对 ArcGIS 的一款第三方扩展工具集,其目的是简化和增强 ArcGIS 的功能,尤其在数据转换等特定任务上表现出色。其中,“TXT 转 shape”功能是将 TXT 格式的数据转换为 Esri 的 Shapefile 格式。Shapefile 是 Esri 公司开发的一种矢量地理数据存储格式,包含地理对象(点、线、多边形)及其属性信息。而 TXT 文件通常是包含结构化非空间数据(如坐标、属性值等)的文件,可能来源于数据库导出或手动编写。通过将 TXT 文件转换为 Shapefile,可以将非空间数据转化为 ArcGIS 可识别和处理的空间数据,进而用于地图绘制、分析等 GIS 操作。 工具箱的“TXT 转 shape”工具的使用过程大致如下:首先是数据预处理,检查 TXT 文件格式是否符合转换要求,比如每行是否代表一个地理对象且包含相应坐标和属性信息;接着是坐标解析,读取并解析 TXT 文件中的坐标数据(通常是 X、Y 坐标对),生成几何对象;然后是属性导入,将 TXT 文件中的其他列数据作为 Shapefile 的属性字段;之后是创建 Shapefile,根据解析的坐标和属性定义字段类型和结构并创建新的 Shapefile;再是数据写入,将几何对象和属性信息写入新 Shapefile;最后是反馈与校验,转换完成后提供成功转换对象数量、错误日志等反馈信息,帮助用户确认转换正确性。使用该工具能让用户高效处理大量非标准格式地理数据,无需手动进行复杂转换,提高工作效率。但需注意,转换时 TXT 文件数据格式必须与工具要求匹配,否则可能导致转换失败或数据丢失。此外
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值