编译和链接
文章平均质量分 76
Liigo
当我沉默着的时候,我觉得充实;我将开口,同时感到空虚……
相对于篮球,我更喜欢足球;相对于象棋,我更喜欢围棋;相对于C,我更喜欢Rust;……
庄晓立(Liigo),男,80后,山东省梁山县人,2002年毕业于山东理工大学,十多年来长期从事软件技术研究和基础产品研发。
电子邮件: liigo@@qq..com;新浪微博: Liigo;G+: +Liigo Zhuang。欢迎来人来函以及来而不往非礼也之洽谈。
展开
-
使用gdb远程调试开发板内程序
使用gdb远程调试开发板内程序背景,开发主机是x86-64平台的Linux系统,开发板是ARM平台的Linux系统。1. 安装gdb-multiarch作为gdb客户端apt install gdb-multiarch2. 编译可在开发板内运行的gdbserver作为gdb服务端下载gdbserver v7.12源代码,并使用交叉编译工具链编译:cd gdb-7.12/gdb/gdbserver./configure --host=arm-linux --target=arm-linuxma原创 2021-10-15 18:30:57 · 1723 阅读 · 2 评论 -
再议易语言静态编译重定位数目过多
有关易语言“静态编译的EXE重定位项不能多于65535个”问题,提供详细的分析和应对办法。原创 2018-06-22 18:17:40 · 3241 阅读 · 3 评论 -
易语言 && Visual Basic 6.0 (VB6)
有朋友曾猜测易语言是在VB6基础上二次开发或二次封装的产品。我在这里提几个思路可用于协助否定该猜测。VB6编译的程序在Windows 95系统内运行需要VB6运行库(MSVBVM60.dll直到Win98才被操作系统内置),而易语言编译的程序不需要该运行库。易语言支持通过置入代码向目标编译程序输出x86机器码,而VB6没有类似的功能。易语言支持静态编译EXE和DLL(非普通的打包然后...原创 2018-06-13 17:18:51 · 5374 阅读 · 2 评论 -
静态编译的EXE重定位项不能多于65535个
去年(2014年)9月份,我收到来自网友的错误报告,说易语言代码行数超过4万,静态编译的EXE启动时异常崩溃。我(Liigo)当时仔细检查了易语言5.x静态编译相关的源代码,分析后得出初步结论:整个易程序就一个代码段(.text),编译成OBJ也位于一个Section内,而其中最多只能有65536个重定位项(WORD NumberOfRelocations)。原创 2015-01-08 22:46:06 · 4884 阅读 · 3 评论 -
MIPS平台OpenWrt路由器系统内的Rust应用程序开发
使用 Rust 语言,交叉编译开发 MIPS(el) + OpenWrt 路由器平台(MT7620A CPU)下的应用软件。原创 2014-09-17 21:41:44 · 14567 阅读 · 4 评论 -
跟踪调试易语言静态编译支持库的方法
作者:庄晓立(Liigo)日期:2012-6-19原创链接:http://blog.csdn.net/liigo/article/details/7677507转载请注明出处:http://blog.csdn.net/liigo/易语言支持库的动态库(*.fne)和静态库(*_static.lib)通常是同一套源代码,往往动态库调试成功了,静态库也应该没有什么问题。但不原创 2012-06-19 20:26:58 · 12402 阅读 · 0 评论 -
在静态库LIB/OBJ文件中搜索定位病毒特征码所属函数,C/C++源码
本文目标:在指定的某个LIB或OBJ文件中,搜索定位某一段可执行代码(X86指令集合),最终确定其所属函数。基本思路:解析LIB文件二进制格式(关于LIB/OBJ基本结构,可参见本人之前的一篇博文),遍历LIB文件中的所有OBJ,遍历每一个OBJ中的所有节(Section),在节(Section)的数据块(RawData)中搜索特征码,如果搜到则打印出此节(Section)中定义的所有符号(Symbol),根据其中的函数符号及相关偏移即可判断特征码所属函数。原创 2010-07-12 01:20:00 · 7293 阅读 · 8 评论 -
易语言5.0静态编译测试版1已发布,反响不错
2009年12月28日,易语言公司公开发布了“易语言5.0静态编译测试版1”。这是易语言重大版本更新。 易语言5.0 测试版1 相对于易语言4.x更新说明: 增加静态编译功能,支持挂接第三方链接器(比如VC6中的link.exe)。 静态编译后的易语言可执行程序(exe)和动态链接库(dll),运行时不再依赖任何支持库文件,文件尺寸更小(相对以前的独立编译),内部结构更合理(取原创 2009-12-28 22:55:00 · 4439 阅读 · 10 评论 -
由C/C++的开源项目和开源协议说开去——和CSDN博客专家王绍全的讨论记录
由C/C++的开源项目和开源协议说开去 ——和CSDN博客专家王绍全的讨论记录 以下,是 2009/11/30 在 CSDN博客专家群,我(liigo)与CSDN博客专家王绍全(Eric)的讨论记录,发表之前已征得他的同意。内容上,主要表达了我私下里对于C/C++开源项目的抱怨,和由于版权的关系不能有效地将其应用于工作中的烦恼。 王绍全[wwws原创 2009-11-30 18:14:00 · 4456 阅读 · 3 评论 -
说说编译链接系统中的符号(symbol)、重定位(relocation)、字串表(string-table)和节(section)
作者:liigo日期:2009/11链接:http://blog.csdn.net/liigo/archive/2009/11/23/4858535.aspx转载请注明出处:http://blog.csdn.net/liigo 编译(compile)和链接(link),是计算机编程语言的通用处理系统。编译,是把程序源代码转换为目标文件;链接,是把目标文件转换为可执行文原创 2009-11-23 19:27:00 · 12252 阅读 · 9 评论