我是一位软件开发者,用通义灵码个人版做各种示例查询和代码分析,对比之前没有灵码,现在提效了非常明显,并且解决了很大的疑难问题的困扰。使用的具体流程如下,可以利用vscode安装灵码的插件,然后就可以使用代码分析,生成单元测试以及生成代码示例的功能。
具体的使用截图如下:
功能使用介绍:
1.查询,查询功能非常方便,有的时候写代码时,需要查询一些特殊的用法和功能的介绍,只要数据关键字,就可以生成对应的介绍和功能示例。
示例代码:
#include <sys/signalfd.h>
#include <signal.h>
#include <unistd.h>
#include <stdio.h>
int main() {
sigset_t mask;
int sfd;
// 设置要监听的信号掩码
sigemptyset(&mask);
sigaddset(&mask, SIGINT); // 监听 SIGINT 信号 (Ctrl+C)
sigaddset(&mask, SIGTERM); // 监听 SIGTERM 信号
// 阻塞这些信号
if (sigprocmask(SIG_BLOCK, &mask, NULL) == -1) {
perror("sigprocmask");
return 1;
}
// 创建 signalfd
sfd = signalfd(-1, &mask, 0);
if (sfd == -1) {
perror("signalfd");
return 1;
}
// 读取并处理信号
struct signalfd_siginfo fdsi;
while (1) {
ssize_t s = read(sfd, &fdsi, sizeof(fdsi));
if (s != sizeof(fdsi)) {
perror("read");
break;
}
printf("Received signal %d\n", fdsi.ssi_signo);
}
close(sfd);
return 0;
}
直接执行后,结果为:
[root@test1 ~]# ./a.out
^CReceived signal 2
^CReceived signal 2
^CReceived signal 2
^CReceived signal 2
^\Quit (core dumped)
还有一些注意点的提示,非常完善,完全解决了自己百度后需要过滤各种的无效信息。
2.解释代码,用来分析代码的意义,可以解释的代码量有限制,只能支持1000行的检查,但是用来分析代码有了很大的助力,希望以后可以增加代码模块的分析了和画出代码的调用图等的功能。
3.生成代码注释,也是非常有用的,写代码最麻烦的就是写出详细的代码注释,而且格式,参数之类的介绍都非常有用。
/**
* 寻找下一个空洞块的位置
*
* 该函数用于在指定的设备上,从给定的偏移量开始,找到下一个空洞块的起始位置
* 同样通过编译条件来决定是否使用SEEK_HOLE指令进行查找,如果不可用,则返回设备的总大小
*
* @param dev 指向SCSI逻辑单元的指针,表示设备
* @param offset 当前的文件偏移量,表示从文件开始到查找起点的字节数
* @return 返回下一个空洞块的起始位置,如果无法使用SEEK_HOLE,则返回设备的总大小
*/
static off_t find_next_hole(struct scsi_lu *dev, off_t offset)
{
//#ifdef SEEK_HOLE
#if 0
return lseek64(dev->fd, offset, SEEK_HOLE);
#else
return dev->size;
#endif
}
还有很多功能可以体验,个人使用最多的就是这几种的功能,完全影响的编码和学习的生活。部署和使用非常的简单,就是开箱即用,值得推荐。。