韶关网站建设制作打广告推广怎么做

news/2025/9/23 3:46:48/文章来源:
韶关网站建设制作,打广告推广怎么做,如何免费做网络推广,舆情监测工作要怎么做1.动态链接库的使用 动态库支持以两种模式使用#xff0c;一种模式下#xff0c;在程序加载运行时#xff0c;完成动态链接。一种模式下#xff0c;在程序运行中#xff0c;完成动态链接。 1.1.程序加载运行时完成动态链接 我们通过一个实例介绍程序加载运行时#xff0c…1.动态链接库的使用 动态库支持以两种模式使用一种模式下在程序加载运行时完成动态链接。一种模式下在程序运行中完成动态链接。 1.1.程序加载运行时完成动态链接 我们通过一个实例介绍程序加载运行时使用动态库的方式 (1). 构建动态库 动态库源文件及makefile位于dynamic a.t1.cpp // t1.cpp int addcnt 0; void addvec(int *x, int *y, int *z, int n) {int i;addcnt;for (i 0; i n; i)z[i] x[i] y[i]; }b.t2.cpp // t2.cpp int mulcnt 0; void multvec(int *x, int *y, int *z, int n) {int i;mulcnt;for (i 0; i n; i)z[i] x[i] * y[i]; }c.makefile main: t1 t2 dynamict1:g -fpic -stdc11 t1.cpp -c t2:g -fpic -stdc11 t2.cpp -cdynamic:g -stdc11 -shared t1.o t2.o -o libt.soclean:rm *.o libt.so *.txtd.通过执行make完成构建。注意编译动态库源文件时需指定-fpic基于.o得到动态库需指定-shared。 (2).提供动态库导出符号声明文件 动态库导出符号声明文件放在include。 a.t.h #ifndef _T_H #define _T_H extern int addcnt; void multvec(int *x, int *y, int *z, int n); void addvec(int *x, int *y, int *z, int n); #endif上述除了导出函数我们还导出了变量addcnt。变量的声明需加上extern否则会被视为变量定义。 (3).主程序使用动态库导出符号 a.主程序为main.cpp #include stdio.h #include t.hint x[2] {1, 2}; int y[2] {3, 4}; int z[2];int main() {addvec(x, y, z, 2);printf(z[%d %d]\n, z[0], z[1]);printf(addcnt_%d\n, addcnt);return 0; }我们采用加载运行时完成动态链接方式使用动态库时在使用动态库导出符号时需要先声明符号。然后直接使用即可。 上述使用了动态库导出的addvecaddcnt。 b.构建可执行程序的makefile main:g main.cpp -stdc11 -I./include -L./dynamic -lt clean:rm a.out *.o *.txt我们采用加载运行时完成动态链接方式使用动态库时构建可执行程序时需通过-L -l来指定要链接的动态库的位置信息。-I用于指定编译期间头文件搜索路径。 (4).启动可执行程序 若上述编译完毕后我们直接在a.out所在目录通过命令行执行./a.out是不行的。 因为类似编译链接过程需通过-L -l来指定要链接的动态库的位置信息。加载运行时可以通过设置LD_LIBRARY_PATH来指定要链接的动态库的位置信息。上述结构下我们提供s.sh。 // s.sh export LD_LIBRARY_PATH$LD_LIBRARY_PATH:./dynamic ./a.out这样执行./s.sh即可正常启动。LD_LIBRARY_PATH用于在程序启动运行时告知搜索程序依赖的动态库的路径。 要查看可执行程序依赖那些动态库可使用ldd a.out。 1.2.程序运行期间完成动态链接 我们通过一个实例介绍程序运行期间使用动态库的方式。 (1). 构建动态库 和1.1部分相同。 (2).主程序中使用动态库导出符号 注意运行期间使用动态库时我们并不需要动态库导出符号声明文件。 因为使用导出符号的方式是通过dlsym直接取得导出符号地址后转换为相应类型后使用。 a.主程序为main.cpp 这里的main.cpp放置在demo下 #include iostream #include dlfcn.hint x[2] {1,2}; int y[2] {3,4}; int z[2];typedef void (*AddVec)(int*, int*, int*, int); int main() {void *handle;AddVec addvec nullptr;char *error;handle dlopen(libt.so, RTLD_LAZY);if(!handle){printf(%s\n, dlerror());return 0;}addvec (AddVec)dlsym(handle, addvec);if((error dlerror()) ! NULL){printf(%s\n, error);dlclose(handle);return 0;}int* addcnt (int*)dlsym(handle, addcnt);if((error dlerror()) ! NULL){printf(%s\n, error);dlclose(handle);return 0;}addvec(x, y, z, 2);printf(z [%d %d],cnt_%d\n, z[0], z[1], *addcnt);dlclose(handle);return 0; }我们采用运行期间完成动态链接的方式使用动态库在使用动态库导出符号时通过dlsym取得导出符号地址后转换为匹配类型后即可使用。上述使用了动态库导出的addvecaddcnt。 b.构建可执行程序的makefile makefile放置在demo。 main:g -stdc11 -rdynamic main.cpp -I../include -ldl clean:rm a.out *.o *.txt我们采用运行期间完成动态链接方式使用动态库时构建可执行程序时不需要通过-L -l来指定要链接的动态库的位置信息。因为编译链接过程尚未用到运行期间要链接的动态库。但需指定-rdynamic -ldl因为我们此时需要链接到服务于运行期间动态连接的动态库dl。 (3).启动可执行程序 类似的我们在启动前需通过LD_LIBRARY_PATH来指定dlopen中搜索动态库的路径信息。 我们的放置在demo下的s.sh为 export LD_LIBRARY_PATH$LD_LIBRARY_PATH:../dynamic ./a.out但执行./s.sh时报错了 因为我们采用c方式编译动态库时库内addvec的符号实际编译出的符号名称为 这是因为c编译器对编译时针对函数类型会结合其形参为其构建符号名称。c编译器不会。 c支持同名函数重载所以这样是需要的。c不支持同名函数重载所以不需要。 上述报错是因为我们通过dlsym取出addvec符号地址时通过名称addvec在动态库中找不到匹配的符号。 为了正常使用dlsym取得导出符号地址 (1).我们要么将dlsym传入的符号名修改为_Z6addvecPiS_S_i (2).要么通过设置使得c编译时针对addvec导出符号不要采用符号重新命名机制。我们只需在动态库源文件符号定义处添加extern C修饰即可。若我们采取了此种方式应该同步在类库导出符号声明文件中为addvec的声明也添加extern C修饰。这样1.1中使用动态库时也会直接采用addvec来在动态库中定位符号的定义位置。 针对变量类型导出符号如addcntc编译器不会对符号执行重新命名。所以直接使用符号名即可。 值得注意的是添加extern C后由于关闭结合形参重命名机制所以此时也就不允许同名符号重载了。 int addcnt 0; void addvec(int *x, int *y, int *z, int n) {int i;addcnt;for (i 0; i n; i)z[i] x[i] y[i]; }void addvec(int *x, int *y, int *z) {int i;i 0;i; }上述内容作为t1.cpp内容时可正常编译。 int addcnt 0; extern C void addvec(int *x, int *y, int *z, int n) {int i;addcnt;for (i 0; i n; i)z[i] x[i] y[i]; }extern C void addvec(int *x, int *y, int *z) {int i;i 0;i; } 上述内容作为t1.cpp内容时无法编译通过。因为存在同名符号问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/911272.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站访问量什么意思河北先进网站建设风格

文章目录 0 前言1 机器学习-人脸识别过程人脸检测人脸对其人脸特征向量化人脸识别 2 深度学习-人脸识别过程人脸检测人脸识别Metric Larning 3 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习 机器视觉 人脸识别系统 该项目…

网站设计代码案例附近的装修公司地点

本文转载自公众号:Nebula Graph Community 。我们都知道《权利的游戏》在全世界都很多忠实的粉丝,除去你永远不知道剧情下一秒谁会挂这种意外“惊喜”,当中复杂交错的人物关系也是它火爆的原因之一,而本文介绍如何通过 NetworkX 访…

上海网站推广模板成都做网站建设公司

Redis的慢查询 许多存储系统(例如 MySQL)提供慢查询日志帮助开发和运维人员定位系统存在的慢操作。所谓慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息(例如:发生时间,耗时,命令的详细信息)记录下来,Redis也提供了类似…

怎么做资源类网站网站建设外文版政策文件

【Spark-HDFS小文件合并】使用 Spark 实现 HDFS 小文件合并 1)导入依赖2)代码实现2.1.HDFSUtils2.2.MergeFilesApplication 需求描述: 1、使用 Spark 做小文件合并压缩处理。 2、实际生产中相关配置、日志、明细可以记录在 Mysql 中。 3、…

专业找工作网站下载网站统计如何做

来源:ScienceAI编辑 :萝卜皮密歇根大学安娜堡分校新兴技术治理专家 Shbita Parthasarathy 表示,从大量文本中生成流利语言的机器学习算法可能会改变科学研究的方式,但不一定会变得更好。在2022 年 4 月 27 日发布的一份报告中&…

组成原理毕业设计代做网站推荐郑州网页制作

文章目录 环境总结测试使用EXPOSE测试1:不做端口映射测试2:-p 8080:80测试3:-P测试4:--networkhost 不使用EXPOSE 参考 环境 RHEL 9.3Docker Community 24.0.7 总结 如果懒得看测试的详细信息,可以直接看结果&#…

目前好的推销网站水务 网站建设

#交换设备 配置OSPF认证-基于华为路由器 OSPF(开放最短路径优先)是一种内部网关协议(IGP),用于在单一自治系统(AS)内决策路由。OSPF认证功能是路由器中的一项安全措施,它的主要用途…

网站开发过程文档网站店铺vr场景可以做吗

背景 由于对应用上线后流量越来越大,原来的按年自动分区性能跟不上,因此决定改成按月自动分区,同时将原有分区数据重新迁移到新的分区 步骤 修改表分区为一个月一个分区 alter table my_table set INTERVAL (NUMTOYMINTERVAL(1, month));…

网站域名与网站首页网址行业网站建站

在日常的数据存储与交换中,移动硬盘因其便携性和大容量而备受青睐。然而,有时我们可能会遇到一种令人困扰的现象:当试图打开移动硬盘时,系统会弹出一个警告窗口,提示“磁盘未被格式化,是否现在格式化&#…

软件下载网站模板自做头像的网站

654 最大二叉树 题目链接:最大二叉树 思路 这道题目是让我们构造最大二叉树并返回根节点。谈及二叉树,首先要确定遍历方式,这道题目一个符合思维的遍历方式是前序遍历(中左右),先有中间节点,然后递归构造左节点和右…

定制做网站费用百度题库

js 制动控制 代码 是 :setInterval(function(){$(".egg").click();},1000); 使用方法:调出浏览器放控制台(console),一般是按F12,将上述代码粘贴后回车就可以自动运行了。转载于:https://www.cnblogs.com/Look_Sun/p/3798903.htm…

建立手机也可浏览的网站教程宁波公司建设网站

一、压力测试介绍 网站压力测试是一种评估网站性能、可靠性和稳定性的方法。它通过模拟大量用户同时访问网站,来测试网站的响应时间、吞吐量、资源利用率等指标,从而发现网站的潜在问题和瓶颈。下面我将从几个方面详细介绍网站压力测试: 1、压力测试的目的 评估网站在高并发…

闸北区网站建设网页制win7 iis 网站

一、需求场景 在前端开发过程中,经常会需要重新请求后台进行代码调试,之前的常规方法是刷新浏览器页面或者点击页面进行交互,这样对多个请求的场景就很方便,但是往往很多时候我们只是单纯的想重新发起一个请求(多个请求…

网站建设技术经理岗位职责做企业网的公司

更多资料获取 📚 个人网站:涛哥聊Python 字典是一种强大而多才多艺的数据类型,它以键-值对的形式储存信息,让我们能够以惊人的效率处理和管理数据。 字典能够将键和值关联在一起,使得数据的存储和检索变得非常高效。…

制作网站管理系统没有网站怎么做链接视频播放器

题意: 给你一个长度为 nnn 的 010101串 ,你有两种操作: 1.将一个子串翻转,花费 XXX 2.将一个子串中的0变成1,1变成0,花费 YYY 求你将这个01串变成全是1的串的最少花费。 首先,我们可以将串按照0…

啊哈哈20250923_03:23

不想发朋友圈,不想发WB,不想发抖YIN,写写博客吧。 今天是秋分呢 有个大台风,桦加沙要来了,估计24号才到我这边。 秋天啦,又 2025啦,明年又是本命年啦 时间过得好快。 不知道这个blog有没有APP,手机下一个,天天…

手机网站开发是什么个人网站域名备案流程

一种利用计算机生成随机数的方法(2012-07-16 23:22:33)标签:随机数函数数值计数器程序运行杂谈这里介绍一种利用计算机生成随机数的方法,微机都有系统计数器记录自运行开始以来的脉冲数,这是个规律变化的数字,只用它是不能产生随机…

北京网站建设一条龙wordpress的文章多重筛选

CAP理论 CAP理论,对分布式系统的特性做了高度抽象,比如抽象成了一致性、可用性和分区容错性,并对特性间的冲突(也就是CAP不可能三角)做了总结。 CAP三指标 CAP理论对分布式系统的特性做了高度抽象,形成了…

asp网站添加背景音乐甘肃建投土木工程建设有限公司网站

【1】关注本公众号,转发当前文章到微信朋友圈 【2】私信发送 【2024年人工智能指数报告】 【3】获取本方案PDF下载链接,直接下载即可。 如需下载本方案PPT原格式,请加入微信扫描以下方案驿站知识星球,获取上万份PPT解决方案&…

成都比较好的广告设计制作公司长春seo培训

目录 场景: 环境: 慢SQL查询一: 问题一:办件列表查询慢 分析: 解决方法: 问题二:系统性卡顿 分析: 解决方法: 慢SQL查询二 扩展: 场景: 线…