
实习
文章平均质量分 63
实习的学习和部分记录
sutneucoder
坚持记录,容易记住。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C语言setenv()原理
setenv()是通过修改进程内存空间的形式来修改环境变量,一般不会影响其他的进程,不过子进程除外。此处空间一般是固定大小,无法修改,如果有新的环境变量加入,会在堆上申请空间并存储。所以,对于测试或者其它的一些依赖修改环境变量的程序,可以在其内部调用setenv这类函数进行动态修改,不会影响系统配置文件,很友好。由于之前开发过程是通过修改~/.bashrc文件,控制环境变量,所以对于setenv()做一个学习研究。C/C++内存模型如下。setenv()定义在,设置或者更新环境变量。原创 2024-08-26 16:19:05 · 732 阅读 · 0 评论 -
syslog vsyslog的源码分析
syslog 和vsyslog是系统日志函数。ubuntu20.04系统下,其产生的日志会存储到/var/log/syslog文件中。原创 2024-08-21 17:59:10 · 1278 阅读 · 0 评论 -
阻塞IO 非阻塞IO 异步IO 同步IO
阻塞和非阻塞主要是指调用某个系统函数时,这个函数是否会导致进程进入阻塞状态而言的;a)调用一个函数,这个函数就卡在在这里,整个程序流程不往下走了,该函数卡在这里等待一个事情发生,这种情况下,操作系统会将该线程或进程挂起,不会消耗 CPU 资源,只有这个事情发生了,这个函数才会往下走,继续执行。这种函数,就认为是阻塞函数;accept();这种阻塞,并不好,效率很低;一般我们不会用阻塞方式来写服务器程序,效率低;b):不会卡住,充分利用时间片,执行更高;原创 2024-08-21 13:26:24 · 441 阅读 · 0 评论 -
【ssh命令】ssh登录远程服务器
命令格式:ssh 用户名@主机IP。然后输入密码,就可以登录进去了。原创 2024-06-06 17:09:21 · 1044 阅读 · 1 评论 -
docker run的复杂使用
这个命令创建了一个高度交互式的容器,它与主机共享用户主目录、X11 socket以及直接渲染接口设备,具有较高的权限,使用主机网络,并准备运行一个需要图形界面和可能涉及硬件加速图形处理的应用程序。: 这同样是一个卷挂载,用于共享X11 socket文件,使得容器内的应用程序可以通过X11协议访问主机的图形界面。: 使容器使用主机的网络堆栈,意味着容器将直接使用主机的网络设备和配置,而不是隔离的网络环境。: Docker的运行命令,用于创建一个新的容器并运行一个命令。: 为新创建的容器指定一个名字,这里是。原创 2024-06-11 15:57:37 · 912 阅读 · 0 评论 -
【Git】git常用命令
git常用命令,和github和gitee和gitlab。原创 2024-06-25 00:05:22 · 725 阅读 · 1 评论 -
Jenkins 创建流水线任务
Jenkins是一个流行的持续集成(Continuous Integration,CI)工具。原创 2024-06-26 18:34:37 · 661 阅读 · 0 评论 -
c/c++语言的一种日志的编写办法
的作用是在宏中将可变长度参数的前一个参数和后一个参数连接起来,如果可变长度参数为空,则不产生任何内容。与之对应的区别就是,函数名称的差异取决于调用函数所传入参数的不同。今日分享一下,从某源码中看到这种日志编写方式,很强。确保在参数列表为空时,不会生成多余的逗号或者括号。语法是C/C++语言的变参宏技巧,处理可变参数。这几种日志输出函数,背后都调用了相同的调用。这三个宏的不同,代表不同的日志严重等级。,通过变参的方式传递不定数量的参数。,用于打印日志信息。原创 2024-07-03 11:00:36 · 482 阅读 · 0 评论 -
/usr/bin/ld: ../src/libnmedia.so.1.0.1: undefined reference to `g_strsplit_set‘ /usr/bin/ld: ../src/
完成后,重新运行 CMake 和 Make 来重新配置和构建项目,以确保编译和链接选项生效。可执行文件的相关指令。您可以将编译和链接选项添加到该文件中。通过添加以上代码到适当的位置,您就可以将编译和链接选项添加到。记得根据您的项目结构和实际情况做出相应的调整。通常,编译选项会添加到包含编译指令的源文件。开头的是链接部分,用来指定需要链接的库文件。是的,需要将编译和链接选项添加到对应的。中,而链接选项会添加到包含链接指令的。开头的编译选项添加到包含编译指令的。开头的链接选项添加到包含链接指令的。原创 2024-07-12 11:02:11 · 354 阅读 · 0 评论 -
如何自定义环境变量
至此,就成功了向环境变量中添加NMEDIA_LOG_METHOD,并设置为PRINT。本文简述向Linux系统中添加环境变量的方法。首先,比如环境变量的名字叫。输出应该显示为PRINT。原创 2024-07-22 15:45:30 · 228 阅读 · 0 评论 -
openlog系统日志调用
这行代码是C语言中用于日志记录的函数调用,具体来说,它使用syslog库中的openlog函数来初始化日志记录系统。原创 2024-07-24 16:13:07 · 750 阅读 · 0 评论 -
不知道服务器jenkins账户密码,利用自己账户和sudo登录jenkins账户
在服务器上不知道jenkins账户密码,只知道自己账户密码,如何登录jenkins账户。原创 2024-07-26 14:26:27 · 459 阅读 · 0 评论 -
jenkins中shell脚本中使用构建参数化Groovy变量的四种方式
【代码】jenkins中shell脚本中使用构建参数化Groovy变量的四种方式。原创 2024-07-26 15:54:20 · 704 阅读 · 0 评论 -
jenkins参数化构建在UI中定义&脚本中使用
【代码】jenkins参数化构建在UI中定义&脚本中使用。原创 2024-07-26 16:36:32 · 511 阅读 · 0 评论 -
Jenkins中使用环境变量
Console Output:通过environment间接使用在environment中定义新的全局的环境变量,在后文中使用。亦可以将参数化构建的参数在environment中赋值给新的环境变量,然后后文中同样可以使用。Console Output:一个好的教程链接原创 2024-07-26 18:59:55 · 986 阅读 · 0 评论 -
Google Mock 和 Google Test编写单元测试入门(环境配置、执行)
Google Mock 和 Google Test环境配置。从环境配置到项目创建演示一个gtest完整流程。通俗易懂原创 2024-08-08 10:45:43 · 998 阅读 · 0 评论 -
内存泄漏工具valgrind初使用
leak-check=full 表示检测所有内存泄露。编译,-g 保留调试信息。原创 2024-08-13 19:17:06 · 231 阅读 · 0 评论 -
_attribute__((visibility(“hidden“)))和符号可见性
通过配置符号的可见性,可以控制哪些符号在不同模块间可见,从而优化库的结构和提高安全性。是GCC/Clang提供的一种机制,用于控制符号的可见性,以。以下是一个简单示例,展示了如何使用。在C和C++中,符号可见性是指。提高代码安全性和优化链接性能。是实现这一目标的有效手段。不会出现在符号表中,而。原创 2024-08-14 10:31:04 · 1044 阅读 · 0 评论 -
#define _UNUSED __attribute__((unused))有什么作用?__attribute__是什么?
在需要保留函数参数情况下,保持函数接口的稳定性。即使这些参数在某个版本中未被使用,未来可能会使用,使用。:在开发过程中,可能会有一些变量或参数在某些条件下并没有被使用。正常情况下,编译器会发出警告,使用。是一个强大的工具,可以来优化程序、控制警告和影响代码生成,但在使用时需要注意跨平台的兼容性。是一个宏定义,在 C/C++ 语言中用于标记未使用的变量、函数或参数。被标记为未使用,这样编译器就不会发出相关的警告。是一种 GCC 和 Clang 等编译器提供的。可以保持代码的整洁性。原创 2024-08-14 10:18:49 · 1180 阅读 · 0 评论 -
为什么使用宏定义日志接口?
使用宏定义,可以在不同的编译条件下选择不同的日志函数实现。也能够做到可以在调试版本中使用更详细的日志输出,而在发布版本中只输出错误日志。:宏定义在预处理阶段进行替换,因此编译器将宏定义的日志函数直接替换为实际的日志函数调用,从而避免了函数调用的开销。:由于宏定义是预处理器指令,因此可以在不修改源代码的情况下修改日志函数的行为。日志宏的实现可以在多个模块中共享,从而提高了代码的复用性。:宏定义可以接受可变参数,这使得日志函数可以接受不同数量的参数,从而提供了更大的灵活性。风格的格式字符串来格式化日志消息。原创 2024-07-30 11:06:25 · 512 阅读 · 0 评论