精华内容
下载资源
问答
  • 使用objdump objcopy查看与修改符号

    万次阅读 2014-03-13 11:04:39
    我们在 Linux 下运行一个程序,有时会无法启动,报缺少某某库。... 有时我们拿到一个静态库,想调用其中的函数,而某些函数作用域非全局,也可以通过修改符号来达到目的。 Linux 有现成的工具可用: objcopy 。

        我们在 Linux 下运行一个程序,有时会无法启动,报缺少某某库。这时需要查看可执行程序或者动态库中的符号表,动态库的依赖项, Linux 有现成的工具可用:objdump 。

        有时我们拿到一个静态库,想调用其中的函数,而某些函数作用域非全局,也可以通过修改符号来达到目的。 Linux 有现成的工具可用: objcopy 。

        下面我们来看看具体怎么使用。


        objdump 是 gcc 套件中用来查看 ELF 文件的工具,详细的用法请 google 之,也可以用 objdump --help 查看帮助,或者 man objdump 查看系统手册。这里只举两个我用到的情况。

        1). 查看依赖项:objdump -x xxx.so | grep "NEEDED" 。下面是我查看 qq_1.so 时的输出截图:


        2). 查看动态符号表: objdump -T xxx.so 。假如想知道 xxx.so 中是否导出了符号 yyy ,那么命令为 objdump -T xxx.so | grep "yyy" 。

        3). 查看符号表: objdump -t xxx.so 。-T 和 -t 选项在于 -T 只能查看动态符号,如库导出的函数和引用其他库的函数,而 -t 可以查看所有的符号,包括数据段的符号


        objcopy 将目标文件的一部分或者全部内容拷贝到另外一个目标文件中,或者实现目标文件的格式转换。

        具体用法 google , man ,或者参考这篇强文《Linux命令学习手册-objcopy命令》。

        假如我们有个静态库,想做这么几个事儿:把一个函数作用域从全局修改为本地、把一个函数作用域从本地修改为全局、把一个函数的名字修改一下。那么步骤如下:

    1. ar -x xxx.a  //释放其中的.o文件
    2. objdump -t xxx.o //查看导出符号表,可以看到导出的函数和引用的函数
    3. objcopy --localize-symbol function_1 xxx.o xxx_new.o   //把函数设置为本地
    4. objcopy --globalize-symbol function_2 xxx.o xxx_new.o //把函数设置为全局可见
    5. objcopy --redefine-sym old_func=new_func xxx.o xxx_new.o //重命名函数名
    6. ar cqs xxx.a xxx_new.o //打包为静态库

        上面用到 ar 命令,请 google 或 man 。

        

        --------

        注:整理一下发个文,以后用到有个地方找。

    展开全文
  • 公文修改符号及其用法

    千次阅读 2018-03-19 08:18:33
    转载自http://www.360doc.com/content/13/0912/13/4353429_313942694.shtml

    转载自http://www.360doc.com/content/13/0912/13/4353429_313942694.shtml

    展开全文
  • Mysql 修改结束符号

    千次阅读 2017-11-18 15:57:31
    1. mysql默认结束语句符号是分号(;) 2. 修改mysql默认指令(delimiter) 注: delimiter和&符号中间有个空格 3. 修改过后的结束符

    1. mysql默认结束语句符号是分号(;)


    2. 修改mysql默认指令(delimiter)

    注: delimiter和&符号中间有个空格


    3. 修改过后的结束符

    展开全文
  • 修改mysql结束符号

    千次阅读 2017-08-12 01:23:11
    1. mysql默认结束语句符号是分号(;) 2. 修改mysql默认指令(delimiter) 注: delimiter和&符号中间有个空格 3. 修改过后的结束符

    1. mysql默认结束语句符号是分号(;)


    2. 修改mysql默认指令(delimiter)

    注: delimiter和&符号中间有个空格


    3. 修改过后的结束符


    展开全文
  • 用magento建多语言店面的时候往往要添加相应的货币,有时候想修改货币符号为自己想要的格式,怎么修改呢?这里提供一个简单方法: 1.首先要在configuration General => Locale options => Locale检查你的语言环境...
  • extjs $ 美元符号修改

    千次阅读 2012-03-29 13:09:14
    1.找到你引用的ext-all.js文件打开; 2.在myeclispse 按住ctrl+F,如果你觉得格式不好看就用ctrl+shift...就好了,至于这个符号怎么大出来的按住alt+0165 就出来了 如果你即需要$还需要¥那么你自己加入一个方法就好 了.
  • win10修改磁盘分区符号-名称

    千次阅读 2018-11-23 18:12:54
    出现了不连续的现象,重命名并不能更改分区磁盘的符号。 如何更改磁盘的符号? 1、电脑 --> 管理 --> 存储下的磁盘管理 2、在磁盘管理界面,选中要改的磁盘F盘,右键单击,“更改驱动器和路径” 3...
  • 前阵子需要给货币符号添加一个国家的简写,例如:$ 变为 US$,在1.7.0.2版本下,直接进入后台,system->manage currency->symbol修改即可,但1.5版本的压根没有symbol这个选择项,这可苦了我。后来搜寻了下,发现了...
  • 1.按F5打开“查找和替换”对话框 2.勾选“使用通配符”,并在查找内容中输入[],在[]里输入你想要替换的标点符号,如:[、,。...4.关闭“查找和替换”对话框,对选中的标点符号直接修改字体 ...
  • mac zsh 无法显示箭头符号 & 前缀修改

    千次阅读 2016-08-29 11:13:20
    1.无法显示箭头符号配图 2.查找了许多网站 不是中文字体乱码 也不是没有修改字体(其实是修改不完全) 请注意修改两个 ChangeFont 着重点是修改第二个ChangeFont字体 修改后就能显示箭头了 最后有个小瑕疵 未找到...
  • ArcGIS Pro2.5新增 将图层符号系统与样式匹配的功能(其实也不算新功能,Map中一直是有的),但是匹配之后如果想将图层的唯一值符号的标注由匹配字段改为其他字段并不太容易,因为没有现成的功能,只能手动更改。...
  • cmder修改提示符为美元符号

    千次阅读 2016-10-27 21:35:40
    将vendor下的clink.lua第41行local cmder_prompt = "\x1b[1;32;40m{cwd} {git}{hg} \n\x1b[1;30;40m$ \x1b[0m" {lamd} 改为如上的$
  • MFC 修改对话框rc文件 资源符号 ID

    千次阅读 2015-11-26 12:44:17
    修改工程目录下resource.h //{{NO_DEPENDENCIES}} // Microsoft Visual C++ generated include file. // Used by tcpclient.rc // #define IDM_ABOUTBOX 0x0010 #define IDD_ABOUTBOX
  • 修改dede当前位置的符号 和超链接。

    千次阅读 2016-03-21 10:45:08
    dedecms中修改当前位置{dede:field.position},就是只要首页>一级栏目>二级栏目这样。 找到include/typelink.class.php,找到这个文件里的这个函数function GetPositionLink($islink=true) ,dedecms就是在这里...
  • 使用全局修改功能,随便单击一个标识符后鼠标右击选择第一个Find Similar Objects查找相似对象会出现如图对话框。在Objects kind中将Text栏中下拉菜单选为Same相同的,点击Apply添加或直接点OK也可以就选中了所有...
  • 一个是通过修改内存中懒加载和非懒加载符号表指针所指向的地址来达到修改方法的目的,作用于主模块懒加载和非懒加载表的符号,在越狱和非越狱环境都可以使用,例如fishhook(符号表替换)。 一个是 cydia substrate...
  • nodejs-硬连接符号连接

    千次阅读 2016-10-25 13:22:18
    硬链接:我们一个文件一般只有一个文件名,这个文件名相当于一个硬...符号连接:存放了一个路径,如为文件1建一个符号连接,这个符号连接其实存储的是文件1这个路径,当我们修改符号连接时候,实质修改的是文件1的内容
  • 修改vim下tab缩进,符号自动补全

    千次阅读 2017-04-30 11:45:04
    在centos下编码时,默认的tab缩进占8个字符,因此在/etc 目录下的vimrc文件末尾添加下列内容就可以改变成4个字符缩进 set nu if has( “autocmd” ) filetype plugin indent on autocmd FileType make set ...
  • 关于cat命令修改文件内容(导入变量符号以及变量内容) cat >1.txt<<END $1=1 $2=2 $1 $2 END 查看文件内容为: [root@server04 ~]# cat 1.txt =1 =2 [root@server04 ~]# 说明导入的$1,$2自动被解析了。...
  • stem中标记符号修改 MarkerSize命令 figure num_of_frame = 1:8; stem(num_of_frame, num_of_frame_prb(1,:),'-o','MarkerSize',12); hold on; stem(num_of_frame, num_of_frame_prb(2,:),'-...
  • ES6之符号符号属性

    万次阅读 2019-12-16 23:50:02
    在 JS 已有的基本类型(字符串、数值、布尔类型、 null 与 undefined )之外, ES6 引入了一种新的基本类型:符号(Symbol)。符号起初被设计用于创建对象私有成员,而这也是 JS 开发者期待已久的特性。在符号诞生...
  • 在使用MDK5编写程序的时候,有一次突然出现了工程内所有的文件都不可以修改的情况,如图所示: 文件上有一个黄色的钥匙标识,所有文件全都不可以修改,包括增删文件等等。 经排查出现这种情况的原因是将该工程内的...
  • 有时候我们会发现有的文件带有特殊符号,比如eclipse的目录下有个.eclipseproduct文件,如果希望从Windows资源管理器中修改文件名,则Windows报错:必须输入文件名。解决这个问题的方法非常简单,只需要执行如下的...
  • 从 10.15 也就是 Catalina 开始,默认 Shell 从 bash 变更为 zsh 同样的,环境变量配置文件从 ...打开该文件,修改 70 行左右位置: # Default prompt PS1="%n@%m %1~ $ " 主机名可在“系统偏好设置” - “共享”里修改
  • 重写wm_concat函数,将分隔符改成 -----(自己定义) create or replace type MyConcatImpl as object ( str VARCHAR2(32767), -- second highest value seen so far static function ...
  • 技术篇-符号制作-标记符号制作

    万次阅读 2015-09-17 16:21:17
    在一个完整的制图过程中,符号制作的成本一般占70%或者更多,是整个制图过程中工作量最大的部分。 如果一开始具有制作所需的符号库,那么,制图工作就会变得轻松得多。符号的制作一般遵循以下几方面: - 符号...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 668,984
精华内容 267,593
关键字:

修改符号