linux + 怎样控制c静态库的导出函数

linux + 怎样控制c静态库的导出函数,第1张

Linux库有动态静态两种,动态通常用.so为后缀,静态用.a为后缀。例如:libhello.so libhello.a 为了在同一系统中使用不同版本的库,可以在库文件名后加上版本号为后缀,例如: libhello.so.1.0,由于程序连接默认以.so为文件后缀名。所以为了使用这些库,通常使用建立符号连接的方式。 ln -s libhello.so.1.0 libhello.so.1 ln -s libhello.so.1 libhello.so 动态库和静态库的区别: 当要使用静态的程序库时,连接器会找出程序所需的函数,然后将它们拷贝到执行文件,由于这种拷贝是完整的,所以一旦连接成功,静态程序库也就不再需要了。然而,对动态库而言,就不是这样。动态库会在执行程序内留下一个标记‘指明当程序执行时,首先必须载入这个库。由于动态库节省空间,linux下进行连接的缺省 *** 作是首先连接动态库,也就是说,如果同时存在静态和动态库,不特别指定的话,将与动态库相连接。 两种库的编译产生方法: 第一步要把源代码编绎成目标代码。以下面的代码hello.c为例,生成hello库: /* hello.c */ #include void sayhello() { printf("hello,world\n")} 用gcc编绎该文件,在编绎时可以使用任何全法的编绎参数,例如-g加入调试代码等

(导出数据库abc到abc.sql文件)提示输入密码时,输入该数据库用户名的密码。二、导入:用mysql命令行命令格式mysql -u 用户名 -p 数据库名三、直接COPY如果数据库比较大,可以考虑用直接拷贝的方法,但不同版本和 *** 作系统之间可能不兼容,要慎用。3.1 将原始数据库用tar打包为一个文件tar -zcvf mydb.tar.gz mydb3.2 创建空数据库3.3 解压在临时目录中解压,如:cd /tmptar -zxvf mydb.tar.gz3.4 拷贝将解压后的数据库文件拷贝到相关目录cd mydb/cp * /var/lib/mysql/mydb/对于FreeBSD:cp * /var/db/mysql/mydb/3.5 权限设置

步骤如下:

一、编写备份数据库的shell

1、创建保存shell文件的文件夹,

2、文件内容为:

#!/bin/sh

PATH=$PATH:$HOME/bin

export PATH

ORACLE_BASE=/u01/app/oracle

export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

export ORACLE_HOME

ORACLE_SID=HRDB

export ORACLE_SID

PATH=/usr/sbin:$PATH

PATH=$ORACLE_HOME/bin:$PATH

export PATH

exp fact/fact file=/backup/fact`date +%y%m%d`.dmp

log=/backup/factlog`date +%y%m%d`.log

shell文件编写完毕

一、运行以上的shell文件

看是否能生成备份的.dmp文件,如果能则表示shell文件编写成功

二、然后在此shell

文件的所在终端输入命令,将此文件授权让root用户可以执行:

三、命令为:chmod +x backup.sh

四、然后到root终端编写定时备份的语句

五、语句为:crontab –e

六、输入i

七、输入10 17 ,,,/home/backupscript/backup.sh

八、按下esc建,输入:wq 退出并保存即可。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8470817.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-16
下一篇2023-04-16

发表评论

登录后才能评论

评论列表(0条)

    保存