V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  kgdb00  ›  全部回复第 6 页 / 共 10 页
回复总数  186
1  2  3  4  5  6  7  8  9  10  
没人回复,自己顶一下
我的 c_cpp_properties.json 文件的配置如下:

{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"${workspaceFolder}/include/"
],
"defines": [],
"compilerPath": "/usr/lib64/ccache/gcc",
"cStandard": "gnu17",
"cppStandard": "gnu++17",
"intelliSenseMode": "linux-gcc-x64",
"compileCommands": "${workspaceFolder}/compile_commands.json"
}
],
"version": 4
}

不知道是不是我配置错误所以才没有生效。
@skimplus 再请教一下老哥,

我给 linux 内核源码树创建了 compile_commands.json 文件,只包含 1730 个源代码文件,c_cpp_properties.json 配置如下,但好像 compileCommands 没有生效,ms-vscode.cpptools-1.7.1/bin/cpptools 这个程序一直在生成 tag 文件,cpu 100%运行了一个小时,输出的文件都 2 个 GB 了,还没完成,是我哪里设置的不对吗?

{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"${workspaceFolder}/include/"
],
"defines": [],
"compilerPath": "/usr/lib64/ccache/gcc",
"cStandard": "gnu17",
"cppStandard": "gnu++17",
"intelliSenseMode": "linux-gcc-x64",
"compileCommands": "${workspaceFolder}/compile_commands.json"
}
],
"version": 4
}
{
"arguments": [
"/usr/lib64/ccache/gcc",
"-c",
"-Wp,-MD,./.builtin-stop.o.d",
"-Wp,-MT,builtin-stop.o",
"-DCONFIG_GUEST_INIT",
"-DCONFIG_GUEST_PRE_INIT",
"-DCONFIG_X86_64",
"-DCONFIG_X86",
"-D_FILE_OFFSET_BITS=64",
"-D_GNU_SOURCE",
"-DKVMTOOLS_VERSION=\"\"",
"-DBUILD_ARCH=\"x86\"",
"-Iinclude",
"-Ix86/include",
"-O2",
"-fno-strict-aliasing",
"-g",
"-Wall",
"-Wformat=2",
"-Winit-self",
"-Wmissing-declarations",
"-Wmissing-prototypes",
"-Wnested-externs",
"-Wno-system-headers",
"-Wold-style-definition",
"-Wredundant-decls",
"-Wsign-compare",
"-Wstrict-prototypes",
"-Wundef",
"-Wvolatile-register-var",
"-Wwrite-strings",
"-Wno-format-nonliteral",
"-Werror",
"-DCONFIG_HAS_ZLIB",
"-o",
"builtin-stop.o",
"builtin-stop.c"
],
"directory": "/a/source/kvmtool",
"file": "/a/source/kvmtool/builtin-stop.c",
"output": "/a/source/kvmtool/builtin-stop.o"
},
每个文件都是这么一大坨 json
@skimplus 不过使用 bear 工具生成的 compile_commands.json 文件也太大了吧?每一个源代码文件都有一大串 json 来列出所有的编译参数,而且这些编译参数还都是一样的,非常臃肿。

用就算用程序去去除不要包含的源文件也会比较麻烦,有没有生成简单一点的格式的方式?

ctags ,cscope ,gun global 这些工具都是可以根据一个最简单的文件路径列表(也就是 find 命令输出的格式)的方式来生成 tag 数据库。
@skimplus
明白了,bear -- make 这样可以生成一个 compile_commands.json 文件
@skimplus 感谢回复!

你说的是 https://github.com/rizsotto/Bear 这个工具吗?在 linux 平台上没有-a 参数。
@hei1000 感谢回复!
compile_commands.json 这个文件好像是 cmake 生成的,但我的项目不是 cmake 构建的,我是不是得找一个这个文件的模板然后手动生成这个文件,或先编写一个 CMakeLists.txt ,然后再用 cmake 生成这个文件?
2021-12-04 21:12:40 +08:00
回复了 kgdb00 创建的主题 问与答 linkedin “Home”按钮右上角的那个红色圆圈怎么去掉?
感觉 linkedin 做的和 csdn 一样恶心,非得逼着我安装去除页面元素的插件吗?
@hsfzxjy @sunjiayao 不好意思,是我复制错了,又 sha256sum 了一下,结果前面没有 T
@hsfzxjy @sunjiayao 刚发现,以前都没有注意到,我直接拷贝一整串到浏览器 ctrl f 没搜到,就以为不对。

为什么 sha256sum 前面要多一个 T 啊,我试了一下其他文件前面没有 T ,manpage 也没有说明。
2021-11-22 15:49:18 +08:00
回复了 Hsinyao 创建的主题 职场话题 校招 offer, Intel VS 腾讯
#10 同问
@kokutou @bitdepth @ynyounuo @Routeros @Cooky 刚才我把另一个 u 盘重新插上去,发现超过 4GB 的文件大小也被自动减去了 4GB ,然后我在固态硬盘上 mkfs.exfat 创建一个新的文件系统(啥参数都不加),拷贝进去一个 5GB 的文件,umount 后再 mount ,也出现了同样的问题,各位可以试试。
@bitdepth 不太理解你说的意思,我这个 u 盘是这款:

“闪迪(SanDisk)32GB Micro USB 接口 U 盘 DD3 酷捷 黑色 读速 150MB/s 安卓手机平板三用 便携 APP 管理软件”

京东自营还有在售,不过我是 5 年前买的,所以担心会不会是用久了出现质量问题了,不过数据拷贝进去都没有任何的损坏,也不能因为这一个问题就断定 u 盘坏了。
@kokutou 我最开始已经说了,用另一个 u 盘(金士顿的)没这个问题
@ynyounuo

用 isoinfo -d -i 的 volume size * block size 和 du -b 的结果相比较是说明什么问题呢?

我发现 fedora server 35 的 iso 也是不一致的,但 sha256sum 和官网的是一致的


root@server:/c/iso# sha256sum Fedora-Server-dvd-x86_64-35-1.2.iso
3fe521d6c7b12c167f3ac4adab14c1f344dd72136ba577aa2bcc4a67bcce2bc6 Fedora-Server-dvd-x86_64-35-1.2.iso
root@server:/c/iso#
root@server:/c/iso# isoinfo -d -i Fedora-Server-dvd-x86_64-35-1.2.iso
CD-ROM is in ISO 9660 format
System id: LINUX
Volume id: Fedora-S-dvd-x86_64-35
Volume set id:
Publisher id:
Data preparer id:
Application id: GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM
Copyright File id:
Abstract File id:
Bibliographic File id:
Volume set size is: 1
Volume set sequence number is: 1
Logical block size is: 2048
Volume size is: 1089891
El Torito VD version 1 found, boot catalog is in sector 380
Joliet with UCS level 3 found
Rock Ridge signatures version 1 found
Eltorito validation header:
Hid 1
Arch 0 (x86)
ID ''
Key 55 AA
Eltorito defaultboot header:
Bootid 88 (bootable)
Boot media 0 (No Emulation Boot)
Load segment 0
Sys type 0
Nsect 4
Bootoff 50BAD 330669
root@server:/c/iso#
root@server:/c/iso# /usr/bin/du -b Fedora-Server-dvd-x86_64-35-1.2.iso
2232418304 Fedora-Server-dvd-x86_64-35-1.2.iso
root@server:/c/iso#
root@server:/c/iso# stat Fedora-Server-dvd-x86_64-35-1.2.iso
File: Fedora-Server-dvd-x86_64-35-1.2.iso
Size: 2232418304 Blocks: 4360200 IO Block: 4096 regular file
Device: 801h/2049d Inode: 4194318 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ d) Gid: ( 1000/ d)
Access: 2021-11-20 00:03:38.167116659 +0800
Modify: 2021-11-05 07:15:49.224372134 +0800
Change: 2021-11-05 07:24:56.164238609 +0800
Birth: 2021-11-05 07:10:48.164996198 +0800
root@server:/c/iso#
root@server:/c/iso# bc
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
1089891 * 2048
2232096768
而且我发现 win11 上个月正式发布 iso 后,微软好像悄悄又更新了 iso ,我的 sha256 和官网的对不上,但我用 google 搜我的 sha256 这一串,可以搜到好多结果,各位可以试试:

667bd113a4deb717bc49251e7bdc9f09c2db4577481ddfbce376436beb9d1d2f

然后可以去微软官网下载 win11 的页面,点击那个“Verify your download”,没有一个结果和这个是一样的,应该就是微软悄悄更新 ISO 了。
我上面总共用了 desktop ,server ,laptop 三个设备,可能会让各位感到迷惑,但结果都是一样的。
@ynyounuo @kokutou

umount 后再 mount ,5GB 的文件大小就变成 1GB 了

findmnt 输出:

└─/mnt/1 /dev/sda1 exfat rw,relatime,fmask=0022,dmask=0022,iocharset=utf8,errors=remount-ro
1  2  3  4  5  6  7  8  9  10  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5477 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 20ms · UTC 08:53 · PVG 16:53 · LAX 00:53 · JFK 03:53
Developed with CodeLauncher
♥ Do have faith in what you're doing.