linux C宏定义实现打印调试信息_c宏控制打印

《工具箱-DBeaver》DBeaver实用功能记录 Dbeaver连接hive,DBeaver线下数据导入... 阅读详情

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

本份面试集锦涵盖了

  • 174 道运维工程师面试题
  • 128道k8s面试题
  • 108道shell脚本面试题
  • 200道Linux面试题
  • 51道docker面试题
  • 35道Jenkis面试题
  • 78道MongoDB面试题
  • 17道ansible面试题
  • 60道dubbo面试题
  • 53道kafka面试
  • 18道mysql面试题
  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

#define LOG(s)                                   日志显示(文件名:行号}+日志信息

#define ERROR(s)                            错误信息位置(级别+文件名+函数名+行号+错误信息)

#define PrintArray2D(arr,m,n)         二维float数组按行列打印显示

代码如下:

#include <stdio.h>
/**
 * 简单打印调试信息
 */
#define DEBUG        1
#ifdef DEBUG
    //日志显示(文件名:行号}+日期
    #define LOG(s) printf("[%s:%d] %s\n", __FILE__, __LINE__, s)
	//错误信息位置(级别+文件名+函数名+行号+错误信息)
    #define ERROR(s)                                                                      \
	do{																					  \
	fprintf(stderr, "[ERROR  at:]%s %s(Line %d): %s\n",__FILE__,__FUNCTION__,__LINE__,s); \
	}while(0)  
    //二维float数组打印显示 
	#define PrintArray2D(arr,m,n)       \
	do                                  \
	{                                   \
		int  i = 0;                     \
		int  j = 0;                     \
		for(i=0;i<m;i++)                \
		{                               \
		  for(j=0;j<n;j++)              \
		  {                             \
		   printf("%f  ",arr[i][j]);    \
		  }                             \
		   printf("\n");                \
		}                               \
	}while(0)

#else
    //日志不显示
    #define LOG(s)  NULL 
    //二维float数组打印不显示 
    #define PrintArray2D(arr,m,n)       NULL
    //错误信息不显示
    #define ERROR(s)          NULL                     
#endif

对此三种加上了条件编译判断,只有当DEBUG定义后,才显示具体错误信息,调试数组显示信息,否则一律为NULL,即不显示

当调试时,在该头文件上方加入:#define DEBUG        1 语句即可

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

本份面试集锦涵盖了

  • 174 道运维工程师面试题
  • 128道k8s面试题
  • 108道shell脚本面试题
  • 200道Linux面试题
  • 51道docker面试题
  • 35道Jenkis面试题
  • 78道MongoDB面试题
  • 17道ansible面试题
  • 60道dubbo面试题
  • 53道kafka面试
  • 18道mysql面试题
  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

入研究,那么很难做到真正的技术提升。**

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

完全可以媲美Navicat的DBeaver介绍!! 为了适应更复杂的使用场景,DBeaver支持编写和执行数据库脚本,用户可以利用这一特性自动化执行日常维护任务,比如定期备份、数据清洗、索引重建等。此外,通过高度可定制的界面布局、快捷键设置以及插件集成,用户可以根据个人偏好和工作习惯,打造个性化的数据库管理环境。DBeaver以其全面的数据库支持、丰富的功能集以及高度的可定制性,成为了众多数据库工作者的首选工具之一。无论是进行日常的数据查询、管理数据库结构,还是进行复杂的数据迁移任务,DBeaver都能提供强大且灵活的支持。 阅读详情

相关推荐

【DBeaver】免费的数据库管理工具DBeaver的安装与使用教程

DBeaver是免费和开源(GPL)为开发人员和数据库管理员通用数据库工具

Cappuccino Blog 7481

计算机专业找工作没方向?零基础入门到精通,收藏这一篇就够了

*1.市场需求大:**随着数字化转型和技术创新的加速,计算机专业人才在金融、电子、教育等多个行业都有很高的需求。**2.就业范围广:**计算机专业的毕业生可以从事网络安全、数据分析、人工智能、软件开发、云计算、游戏开发等多个领域的工作。**3.薪资水平高:**根据有关数据显示,IT行业是目前平均收入较高的行业,其从业人员平均年薪已逾十万元。**1.证券方向:**各省基本都有一所证券公司,沿海省份集中在税前30-40万左右,内地集中在20-30万,一般要求硕士。

2401_84215240的博客 1117

STM32嵌入式日志系统设计:模块化分级调试与智能宠物屋应用

日志系统是软件开发中用于记录程序运行时状态的核心调试工具,其原理是通过分级、分类的方式组织信息输出,帮助开发者追踪程序执行流程和定位问题。在嵌入式开发领域,高效的日志系统对于资源受限的MCU环境尤为重要,它能显著提升调试效率和代码可维护性。通过模块化设计,开发者可以按功能划分(如传感器、控制、通信等模块)独立控制日志输出,结合编译时宏定义实现零开销关闭,从而在保证调试灵活性的同时优化系统资源。这种设计特别适用于像智能宠物屋这样的综合物联网项目,其中涉及多传感器数据采集、执行器控制和无线通信等复杂场景。通过引

weixin_34163553的博客 355

DBeaver 超级详细的安装与使用,零基础入门到精通,收藏这篇就够了

有些大厂,例如奇安信,甚至会将渗透岗位分为红蓝两方,对候选人的技术要求比较高,大部分刚入行的新人,也将渗透岗位作为后期的发展目标。①就业环境:网络安全可以在计算机科学与技术、信息通信、电子商务、互联网金融、电子政务等领域从事相关工作,还可以在政府机关事业单位、银行、保险、证券等金融机构,电信、传媒等行业从事相关工作。推进相关安全管控策略在平台落地、执行。**岗位释义:**主要负责信息安全事件应急响应、攻击溯源、取证分析工作,参与应急响应、攻击溯源、取证分析技术的研究,提升整体重大信息安全事件应急处置能力。

Python_0011的博客 3万+

C++宏编译版本控制:从原理到工程实践

在C++项目开发中,预处理器宏是实现条件编译的核心机制,它允许开发者在编译前对源代码进行选择性处理。其原理基于预处理器在语法分析前执行文本替换和条件包含,通过#ifdef、#if等指令控制代码块的生效与否,从而实现零开销的功能开关。这一技术对于管理跨平台代码、调试与发布版本差异、功能模块开关等场景具有重要价值,能显著提升代码的可维护性和部署灵活性。在实际工程中,结合CMake等构建工具进行集中化配置,并合理应用于日志系统、断言控制等场景,可以有效提升开发效率。本文以DEBUG宏和平台特定代码为例,详细解析了

weixin_34161032的博客 853

在 Dify 平台部署一个 知识库问答(KBQA) 工作流

加强检索约束,Prompt 加限制(“仅基于知识库回答”):启用缓存,使用轻量级 LLM(如 Mistral-7B)(OpenAI Embedding、M3E、BGE等)(支持 PDF/TXT/Markdown/Word)(GPU/CPU 资源,用于向量数据库和模型推理)企业内部文档(PDF/Word/Excel)网页爬取数据(Markdown/HTML)分块大小(太小→信息碎片化,太大→噪声多)相似度阈值(太高→漏检,太低→噪声多)(是否返回正确文档)结构化数据(数据库/API)

井底小蛙的博客 1520

最全linux C宏定义实现打印调试信息_c宏控制打印,C C++研发岗面试复盘总

是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!#define ERROR(s) 错误信息位置(级别+文件名+函数名+行号+错误信息)对此三种加上了条件编译判断,只有当DEBUG定义后,才显示具体错误信息,调试数组显示信息,否则一律为NULL,即不显示。

2401_84976700的博客 406

Procedural modeling

What is procedural modeling? One content generation option is modeling buildings, plants, clouds, cities, and worlds using an underlying system of rules. 1 Procedural Modeling: Grammars A rule-based generative system loosely organized as: ...

qq_24505417的博客 711

2024年最新linux C宏定义实现打印调试信息_c宏控制打印(1),神操作

正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!#define ERROR(s) 错误信息位置(级别+文件名+函数名+行号+错误信息)对此三种加上了条件编译判断,只有当DEBUG定义后,才显示具体错误信息,调试数组显示信息,否则一律为NULL,即不显示。

2401_84975828的博客 423

PX4笔记系列(二)vtol_att_control中的tiltrotor解析

update_vtol_state() 注释:采用两段切换的简单逻辑来进行过渡 当切换过渡开关后,飞机将会开始倾转动力,逐渐加速,当飞机获得足够速度后动力将会完全打到向前的位置。对于过渡返回阶段动力则是简单地倾转回来。 如果(不在向前过渡指令下): 当前vtol飞行模式: 1、旋翼模式 无操作 2、固定翼模式 令vtol飞行模式切换到过渡返回模式 3、P1过渡模式 进入过渡失败安全返回至旋翼模式 4、P2过渡模式 进入过渡失败安全返回至旋翼模式 5、过渡返回模式 记录过渡返回时间=当前时间-过渡开始

hypersonicss的博客 1880

Autosar配置——导入DBC后配置SecOC同步报文和同步请求报文

在Autosar中,安全性是一个重要的考虑因素,而SecOC(Secure On-Board Communication)是一种用于保护通信数据完整性和安全性的安全机制。在上述示例中,我们配置了同步报文和同步请求报文的属性。接下来,我们需要在Autosar中配置同步报文和同步请求报文。同步报文用于在通信双方之间同步SecOC状态,而同步请求报文用于请求SecOC的状态信息。通过以上配置,我们成功地导入了DBC文件,并在Autosar系统中配置了SecOC同步报文和同步请求报文。希望以上信息对您有所帮助!

CyberSphinx的博客 649

[LINUX C]用DEBUG宏控制一些调试输出

用DEBUG宏控制一些调试输出 方法: #include <syslog.h> #ifdef DEBUG #define DBG_INFO(s, a...) syslog(LOG_DAEMON | LOG_INFO, (s), ##a) #define DBG_ERROR(s, a...) syslog(LOG_DAEMON | LOG_ERR, (s), ##a) #defi...

小蜗牛之家 1059

ENVI入门系列教程---一、数据预处理---1.1基本操作--5.x以后的界面(新界面)

every blog every motto: You never know how strong you really are until being strong is the only choice you have。 0. 前言 本系列教程旨在系统学习并梳理ENVI。说来惭愧,作为一名GISer,对ENVI这类软件还不能熟练掌握,这也是本系列教程的初衷。种一棵树最好的时间是十年以前,其次是...

胡侃有料的博客 1万+

gcc&linux静态库&动态库学习

最近系统学习了gcc,因此写下面这个博文进行总结,所参考的主要是博主:爱编程的大丙。

Lllongroad的博客 1740

YOLOv5源码逐行超详细注释与解读(5)——配置文件yolov5s.yaml

全网最详细的YOLOv5源码解读之配置文件yaml。逐行注释,逐句讲解,一文带你了解yaml。小白必看!

路人贾的博客 1万+

docker-compose Install OrangeHRM

OrangeHRM是一个全面的人力资源管理HRM) 系统,它包含任何企业所需的所有基本功能。OrangeHRM旨在支持任何规模的团队,包括初创企业、中小企业以及大型跨国组织。

极致,细节 1004

TWEN-ASR ONE开发板入门:从环境搭建到离线语音识别程序实战

语音识别技术通过将人类语音转换为文本或指令,实现了人机交互的自然化。其核心原理涉及信号处理、特征提取和模式识别,在嵌入式领域,离线语音识别技术因其低延迟、高隐私性和强实时性而备受青睐。这项技术的价值在于为智能家居、工业控制和语音遥控等场景提供了本地化、低功耗的交互解决方案。TWEN-ASR ONE开发板集成了专用AI处理单元(NPU)和麦克风阵列,是实践嵌入式语音识别的理想平台。本文以该开发板为例,详细解析了从开发环境搭建、硬件连接到第一个语音识别程序编译、烧录与调试的全流程,涵盖了交叉编译工具链配置、CM

weixin_34355559的博客 381

FH8626V100之开发环境搭建

FH8626V100是富瀚微出的一款带摄像头的方案,开发工具在Linux 上进行。版本 Ubuntu 20.04 64位。

xue_nuo的博客 1万+

深入解析Arm ATF BL2:安全启动的核心加载器与平台移植实战

在嵌入式系统与芯片设计中,安全启动是构建可信计算基石的必备技术,其核心在于建立从硬件到软件的完整信任链。这一过程通常由Bootloader(引导加载程序)实现,它负责在系统上电后初始化硬件、加载并验证后续固件镜像。Arm可信固件(ATF/TF-A)作为Armv8-A/v9-A架构的官方参考实现,定义了一个标准化的多阶段启动流程。其中,BL2(Boot Loader Stage 2)扮演着承上启下的关键角色,它运行在DRAM中,具备更优的执行环境,核心职责包括加载BL31、BL32(如OP-TEE)及BL33

weixin_33696106的博客 351

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

数据库工具——DBeaver的安装及使用

DBeaver的安装及基本使用

一坨小橙子的博客 1万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

DBeaver安装教程及基础使用手册

DBeaver是免费和开源(GPL)为开发人员和数据库管理员通用数据库工具。

weixin_67450855的博客 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

DBeaver安装使用教程2026年10月,超详细图文下载、安装与使用教程,好用免费的数据库管理工具

DBeaver是一款免费、开源、跨平台的通用数据库管理工具,支持MySQL、PostgreSQL、Oracle、SQL Server等主流数据库及MongoDB等NoSQL数据源。基于JDBC驱动,兼容性强,功能丰富,提供SQL编辑、ER图、数据导入导出、元数据管理等实用功能。本文详细介绍其下载安装(推荐从GitHub或优快云获取稳定版本)、配置及使用方法,适合开发者与数据库管理员高效管理数据。

weixin_48053866的博客 28万+

DBeaver:开源、跨平台、强大的数据库管理工具

DBeaver 是一个流行的开源数据库客户端,它可以用于连接和管理多种不同类型的数据库系统,包括 MySQL、PostgreSQL、Oracle、Microsoft SQL Server 等等。

Code Metaverse 1万+

工具之DBeaver安装及使用

一、 DBeaver介绍 dbeaver是免费和开源(GPL)为开发人员和数据库管理员通用数据库工具。DBeaver 是一个通用的数据库管理工具和 SQL 客户端,支持 MySQL, PostgreSQL, Oracle, DB2, MSSQL, Sybase, Mimer, HSQLDB, Derby, 以及其他兼容 JDBC 的数据库。DBeaver 提供一个图形界面用来查看数据库结构、执行SQL查询和脚本,浏览和导出数据,处理BLOB/CLOB 数据,修改数据库结构等等。 1、 支持的数据库 DBe

月生的静心苑 3万+

数据库管理工具:DBeaver的介绍

数据库管理工具:DBeaver的介绍。

casually的博客 5090

数据库工具DBeaver 操作手册

数据库工具DBeaver简介 免安装版.

Best_to_Own的博客 9937
上一篇: Anaconda虚拟环境常见操作(1)
下一篇: Linux docker4--本地jar包生成镜像和docker部署运行
普通网友
博客等级 码龄5年 5792粉丝 608原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值