当前位置: 首页 > news >正文

教务管理系统平台关键词长尾词优化

教务管理系统平台,关键词长尾词优化,家居企业网站建设行情,消防做ccc去那个网站sudo usermod -a -G vboxsf nowind nowind是你的虚拟机登录的用户名解决virtualbox 虚拟机共享文件夹不能使用的问题 第一种:源码内实现pass: 实现EncodeFunctionName 的pass,核心代码如下 相关文件的修改: 因为后面同样用到…

sudo usermod -a -G vboxsf nowind   nowind是你的虚拟机登录的用户名解决virtualbox 虚拟机共享文件夹不能使用的问题

第一种:源码内实现pass:

实现EncodeFunctionName 的pass,核心代码如下

相关文件的修改:

因为后面同样用到ollvm,所以我已经放到一起了,资源下载:

https://download.csdn.net/download/ahjxly/88609122

因为全部都是修改llvm目录下的文件,替换include和lib文件夹

替换完成后 cd cd llvm/llvm-project-9.0.1/llvm/cmake-build-debug/,执行ninja -j8,重新编译下。这次编译会快很多。

然后单独执行 ninja LLVMEncodeFunctionName,生成so文件,进行使用。

使用方式和之前的文章一样,执行

opt -load '/home/nowind/llvm/llvm-project-9.0.1/llvm/cmake-build-release/lib/LLVMEncodeFunctionName.so' -encode hello_clang.ll -o hello_clang_encode.bc

clang hello_clang_encode.bc -o hello_clang_encode

第二种:在源码外实现EncodeFunctionName2,修改根目录下的CMakeList.txt:

set(LLVM_DIR /home/nowind/llvm/llvm-project-9.0.1/llvm/cmake-build-debug/lib/cmake/llvm/),这里为你自己的路径

执行结果如下:

/home/nowind/llvm/CLion-2023.3/clion-2023.3/bin/cmake/linux/x64/bin/cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=/usr/bin/ninja -G Ninja -S /home/nowind/llvm/pro/pro2/outPass -B /home/nowind/llvm/pro/pro2/outPass/cmake-build-debug
-- Linker detection: GNU ld
-- Configuring done (0.0s)
-- Generating done (0.0s)
-- Build files have been written to: /home/nowind/llvm/pro/pro2/outPass/cmake-build-debug[Finished]
/home/nowind/llvm/CLion-2023.3/clion-2023.3/bin/cmake/linux/x64/bin/cmake --build /home/nowind/llvm/pro/pro2/outPass/cmake-build-debug --target all -j 6
[2/2] Linking CXX shared module EncodeFunctionName2/LLVMEncodeFunctionName2.soBuild finished

生成的文件在

/home/nowind/llvm/pro/pro2/outPass/cmake-build-debug/EncodeFunctionName2/LLVMEncodeFunctionName2.so

使用opt 命令

opt -load /home/nowind/llvm/pro/pro2/outPass/cmake-build-debug/EncodeFunctionName2/LLVMEncodeFunctionName2.so  -encode2 hello_clang.ll
WARNING: You're attempting to print out a bitcode file.
This is inadvisable as it may cause display problems. If
you REALLY want to taste LLVM bitcode first-hand, you
can force output with the `-f' option.EncodeFunctionName22: test_hello1 -> 9c119247aefaa12cdd417eb3d57d5b2a
EncodeFunctionName22: main -> main
EncodeFunctionName22: test_hello2 -> af0aaac8b98b759ace7b9eacbd2238a6

得到同样的结果。

clang使用自定义的pass,生成可执行文件

 clang -Xclang -load -Xclang /home/nowind/llvm/pro/pro2/outPass/cmake-build-release/EncodeFunctionName2/LLVMEncodeFunctionName2.so -encode2 hello_clang.ll -o hello_clang_encode3 -Wno-unused-command-line-argument

第三种:EncodeFunctionName注册到clang中:

/home/nowind/llvm/llvm-project-9.0.1/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp populateModulePassManager方法中增加 MPM.add(createEncodeFunctionName());

重新编译clang: 这里用的release,因此PATH要改:

ninja clang

export PATH=/home/nowind/llvm/llvm-project-9.0.1/llvm/cmake-build-release/bin:$PATH

clang -mllvm -encode_function_name hello_clang.bc

切换到debug:

修改EncodeFunction中:CMakeLists.txt set(LLVM_DIR /home/nowind/llvm/llvm-project-9.0.1/llvm/cmake-build-debug/lib/cmake/llvm/)

cd cmake-build-debug

ninja opt 重新编译opt

opt -load /home/nowind/llvm/pro/pro2/outPass/cmake-build-debug/EncodeFunctionName2/LLVMEncodeFunctionName2.so -encode2 hello_clang.ll -o hello_clang_encode.bc

注意pass不能重名

opt 断点:

OutPass中配置EncodeFunctionName2的opt为

/home/nowind/llvm/llvm-project-9.0.1/llvm/cmake-build-debug/bin/opt

参数配置为:

-load /home/nowind/llvm/pro/pro2/outPass/cmake-build-debug/EncodeFunctionName2/LLVMEncodeFunctionName2.so -encode2 /home/nowind/llvm/pro/pro2/hello_clang.ll -o /home/nowind/llvm/pro/pro2/hello_clang_encode.bc

但这样配置完毕后发现一个问题,就是日志在clion控制台中看不到,只有换行,勾选了

Emulate terminal in the output console才能看到,奇怪的很,但也不影响什么

http://www.zhongyajixie.com/news/15080.html

相关文章:

  • 品牌seo是什么意思88个seo网站优化基础知识点
  • 什么网站做免费广告最有效果刷百度指数
  • 江苏个人网站备案要求肇庆seo排名外包
  • 重庆做网站建设公司建立网站的主要步骤
  • 网站推广有哪些常用的方法网站友链
  • 太仓做网站公司学生网页制作成品
  • 网站可以几个服务器软文世界官网
  • 鄂州门户网站百度站长平台网站收录
  • 导航网站建设南昌seo专业团队
  • 网上做翻译兼职网站seo建站营销
  • ppt模板网站排行seo百度关键词优化软件
  • 中小型网站建设与管理免费推广产品平台有哪些
  • 电商分销平台有哪些上海百网优seo优化公司
  • 米各庄网站建设黑帽seo之搜索引擎
  • 一台服务器一个固定ip怎样做两个网站合肥百度搜索优化
  • 手机派网站磁力岛引擎
  • 做视频有赚钱的网站有哪些百度快速收录提交工具
  • wordpress内插件翻译台州网站seo
  • 电商网站模块设计seo网站推广公司
  • 做旅游网站的项目背景云南seo
  • 网站怎么做竞价推广怎么创建网页链接
  • 怎么做车载mp3下载网站如何做百度搜索推广
  • 开淘宝店和做网站有什么区别百度首页推荐关不掉吗
  • c2c网站设计微信朋友圈推广平台
  • 做网站域名多少钱一呼百应推广平台
  • 博客做单页网站seo外包网络公司
  • 重庆观音桥网站建设百度站长工具seo查询
  • 广州哪里做公司网站号搜索引擎排名2022
  • 深圳网站建设开发公司哪家好百度搜索指数排名
  • 哪个行业必须做网站站长统计官方网站