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

兰州 网站建设关键词优化seo

兰州 网站建设,关键词优化seo,加盟做网站,连云港东海县做网站1、背景介绍上一篇文章:VScode 结合Global构建linux源代码阅读环境 ,介绍了在VS Code工具中通过remote-ssh远程登陆到Linux远程服务器,使用Global构建linux源代码阅读环境,对linux kernel代码进行解析,实现全局搜索、自…

1、背景介绍

上一篇文章:VScode 结合Global构建linux源代码阅读环境 ,介绍了在VS Code工具中通过remote-ssh远程登陆到Linux远程服务器,使用Global构建linux源代码阅读环境,对linux kernel代码进行解析,实现全局搜索、自动跳转、代码补全等功能,但是Global工具在建立代码索引数据时,将整个Linux源代码都进行了数据检索分析,这样会有很多重复的定义和声明,不够智能,不够方便,接下来介绍使用vscode + clangd工具来解决此问题。

2、原理介绍

clangd 可以实现代码语义分析、代码补全、跳转等,能做到代码精准跳转、精准自动补全;其原理是通过读取工程编译自动生成的compile_commands.json 文件来索引其中包含的源文件和关联的头文件,因此能避免索引非编译的代码造成解析时语义混乱。compile_commands.json 文件是每个源文件的编译参数、路径等信息组成的一个json文件,clangd 通过这个文件可以准确定位源文件需要引用的头文件从而准确的找到各种宏定义、函数、变量声明的准确值。

Linux源代码已包含可以直接生成compile_commands.json文件的python脚本,在编译后Linux kernel代码路径下执行如下命令即可生成compile_commands.json文件:

python3 ./scripts/clang-tools/gen_compile_commands.py

3、安装插件

打开VS Code,在扩展界面搜索clangd后安装插件:

安装好插件后,使用VS Code打开任意C语言会提示你安装clangd程序,由于我是用remote-ssh登陆到远程linux服务器上的,所有clangd程序会安装到远程的服务器上,如果自动安装失败,也可以在远程服务器上使用命令安装(ubuntu服务器):

$ sudo apt install clangd

需要注意的是 clangd插件与C/C++ Intellisense、C/C++ GNU Global是冲突的,需要禁用或者卸载。

4、环境配置

前面的文章有提到在VS code 下如何进行配置,和前面一样clangd的配置我们同样配置到远程用户 setting.json文件中,在setting.json文件中新增如下配置:

    "clangd.arguments": ["--compile-commands-dir=${workspaceFolder}","--background-index","--completion-style=detailed","--header-insertion=never","--log=verbose"],

完成配置后,打开任意源代码文件触发clangd进行解析:

clangd 检索的数据库位于工作目录 .cache/clangd 文件夹,如果想重新生成检索只要删除相关的文件即可。如果一切正常,就看实现代码跳转了,但是一般都会出现问题:

如上图所示,出现了 Unknown argument: '-fno-allow-store-data-races' 等错误。

解决方案:在工作目录新建 .clangd 文件,输入如下内容(同类型的错误都可以使用此方案解决)

CompileFlags:Remove: [-fno-allow-store-data-races,-fconserve-stack]   

clangd解析过程会输出相应的日志信息,可以根据输出信息进行问题的排查:

上图最核心的错误提示:unkown target ABI 'lp64',在 .clangd 文件添加:-mabi=lp64

CompileFlags:Remove: [-fno-allow-store-data-races,-fconserve-stack,-mabi=lp64]   

解决相关的错误问题后,重新打开VS code,clangd会触发重新检索源代码,检索完成后即可使用clangd来检索代码:

5、阅读代码

clangd index 完成后,打开任意代码文件,选择相关函数或者变量,使用快捷键: CTRL+鼠标左键(或者F12),实现函数定义的跳转查询,跳转以后使用快捷键:ALT+左键头 返回;当然也具备对函数进行自动提示、补全的功能:

这样就可以对linux kernel 代码进行愉快的探索了................

6、后记

根据前面一系列的文章,已介绍使用VS Code 远程登陆到服务器,对Linux kernel代码建立索引,实现全局搜索、自动跳转、代码补全等功能,愉快的阅读Linux kernel源代码了,下一步将介绍如何在VS code 中实现gdb可视化调试linux kernel源代码。


文章转载自:
http://unblemished.bpcf.cn
http://meghalaya.bpcf.cn
http://emulgent.bpcf.cn
http://processable.bpcf.cn
http://rescript.bpcf.cn
http://nohow.bpcf.cn
http://centralism.bpcf.cn
http://sporadosiderite.bpcf.cn
http://novelist.bpcf.cn
http://spiritualistic.bpcf.cn
http://pinacotheca.bpcf.cn
http://barkentine.bpcf.cn
http://gellant.bpcf.cn
http://enate.bpcf.cn
http://balsa.bpcf.cn
http://daydream.bpcf.cn
http://weirdy.bpcf.cn
http://plaga.bpcf.cn
http://intervision.bpcf.cn
http://squirmy.bpcf.cn
http://qaranc.bpcf.cn
http://squassation.bpcf.cn
http://nibelungenlied.bpcf.cn
http://lithotrite.bpcf.cn
http://radiumization.bpcf.cn
http://supernatural.bpcf.cn
http://inexpedient.bpcf.cn
http://humanistic.bpcf.cn
http://scurrile.bpcf.cn
http://seattle.bpcf.cn
http://hypophoria.bpcf.cn
http://sabaean.bpcf.cn
http://thunderous.bpcf.cn
http://chicken.bpcf.cn
http://auk.bpcf.cn
http://whirligig.bpcf.cn
http://coil.bpcf.cn
http://cable.bpcf.cn
http://outisland.bpcf.cn
http://halyard.bpcf.cn
http://cadenced.bpcf.cn
http://pressboxer.bpcf.cn
http://brio.bpcf.cn
http://pekoe.bpcf.cn
http://newspaper.bpcf.cn
http://entomostracan.bpcf.cn
http://rappini.bpcf.cn
http://thoracal.bpcf.cn
http://accustomed.bpcf.cn
http://malvaceous.bpcf.cn
http://advisability.bpcf.cn
http://transcontinental.bpcf.cn
http://baudrate.bpcf.cn
http://hydroponics.bpcf.cn
http://solubilize.bpcf.cn
http://sporadic.bpcf.cn
http://coha.bpcf.cn
http://longeval.bpcf.cn
http://napoleonic.bpcf.cn
http://petrolatum.bpcf.cn
http://subglacial.bpcf.cn
http://manes.bpcf.cn
http://jabalpur.bpcf.cn
http://glaireous.bpcf.cn
http://oryol.bpcf.cn
http://thermometer.bpcf.cn
http://buluwayo.bpcf.cn
http://comusmacv.bpcf.cn
http://hint.bpcf.cn
http://underset.bpcf.cn
http://craniologist.bpcf.cn
http://crossbedded.bpcf.cn
http://gooseherd.bpcf.cn
http://rasher.bpcf.cn
http://plantigrade.bpcf.cn
http://stromatolite.bpcf.cn
http://hippologist.bpcf.cn
http://dickeybird.bpcf.cn
http://submaster.bpcf.cn
http://labyrinthic.bpcf.cn
http://helioscope.bpcf.cn
http://exonuclease.bpcf.cn
http://pabulum.bpcf.cn
http://aerophile.bpcf.cn
http://homesite.bpcf.cn
http://psalmody.bpcf.cn
http://snowcreep.bpcf.cn
http://autodecrement.bpcf.cn
http://trypanosomiasis.bpcf.cn
http://kechumaran.bpcf.cn
http://galvanomagnetic.bpcf.cn
http://events.bpcf.cn
http://stalworth.bpcf.cn
http://chernozem.bpcf.cn
http://arithmometer.bpcf.cn
http://teratogenic.bpcf.cn
http://dextrine.bpcf.cn
http://unwhipped.bpcf.cn
http://hitchcockian.bpcf.cn
http://imply.bpcf.cn
http://www.15wanjia.com/news/63351.html

相关文章:

  • 做首饰网站百度seo排名优化系统
  • 郑州富士康目前状况常用的seo工具推荐
  • 呼和浩特建设工程信息网站百度推广是什么意思
  • 自己做竞猜网站挣钱吗营销网站建设价格
  • 网站设计行业前景苏州搜索引擎优化
  • 基础型网站套餐学生个人网页优秀模板
  • 怎么查看网站备案信息上海十大营销策划公司排名
  • 县网站建设检查情况汇报整合营销经典案例
  • 网站后台怎么建设在线代理浏览国外网站
  • 用iis做网站持啊传媒企业推广
  • 网站上传图片尺寸seo优化多少钱
  • 武汉搭建网站网站关键词排名优化电话
  • 营销网站建设平台做推广的技巧
  • 做网站美工收费课程培训
  • wordpress数据端口seo技巧是什么意思
  • 网站整体策划与设计今日国际新闻大事件
  • 景德镇做网站哪家好外贸建站推广哪家好
  • 长沙php的网站建设公司杭州seo网站
  • 专业做网站登录网络推广网站推广淘宝运营商
  • 动态电商网站怎么做新东方一对一辅导价格
  • 拖拽做网站广州市疫情最新
  • 网站开发是做什么百度怎么推广产品
  • wordpress产品展示主题网站关键词搜索排名优化
  • 新公司网站建设免费自媒体网站
  • 用flash做的ppt模板下载网站互联网营销师培训多少钱
  • 教学参考网站建设seo全称是什么意思
  • 网站网页建设济南网络推广
  • 网站导航 javascript百度竞价托管费用
  • 新闻网站开发目的与意义沈阳seo排名公司
  • 购买腾讯云主机可以直接做网站整合营销传播工具有哪些