牛客Linux高并发服务器开发学习第二天

news2024/11/27 14:40:04

Gcc编译

利用gcc 生成应用时如果不加-o 和应用名,默认生成a.out

可以用./ a.out打开

Gcc工作流程

可执行程序Windows系统中为.exe

Linux系统中为.out

g++也可以编辑c程序

gcc也可以编译cpp代码,只是在编译阶段gcc不能自动共和C++程序使用的库进行联接,所以通常用g++完成链接。 

gcc命令不能自动和C++程序使用的库联接,但在编译阶段g++会自动调用gcc,二者等价。 

Gcc常用参数选项

gcc -DDEBUG

相当于在test.c开头#define DEBUG,方便我们进行调试信息输出,一般测试参数在发布的时候不用输出,在调试的时候才输出。

因此测试参数,或者调试信息可以写在#ifdef DEBUG 和#endif中间。

-Wall 会提示警告,比如代码中定义了a但没有使用,会浪费内存。

静态库

库是计算机上的一类文件,可以看成是代码仓库,提供给使用者一些可以直接拿来用的变量、函数或类。

是特殊的程序,不能单独运行。

库文件分为静态库、动态库(共享库)。

静态库载程序的链接阶段被复制到程序中,

动态库在链接阶段没有被复制到程序中,而是程序在运行时由系统动态加载到内存中供程序使用。

库的好处:代码保密。方便部署和分发。

命名规则

Linux:libxxx.a

lib:前缀(固定)

xxx:库名字,自己起

.a:后缀(固定)

Windows:libxxx.lib

静态库的制作

gcc获得.o文件

将.o文件打包,使用ar工具 (archive)

ar rcs libxxx.a xxx.o xxx.o

r -将文件插入备存文件中

c -建立备存文件

s -索引

将head下的加减乘除函数打包成静态库

学习进度

Linux系统编程入门 01:18:11

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1603925.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

kettle从入门到精通 第五十三课 ETL之kettle MQTT/RabbitMQ producer 实战

1、MQTT介绍 MQTT (Message Queuing Telemetry Transport) 是一种轻量级的消息传输协议,设计用于连接低带宽、高延迟或不可靠网络的设备。 MQTT 是基于发布/订阅模式(Publish/Subscribe)的协议,其中设备可以发布消息到一个主题&…

【Linux系列】Ctrl + R 的使用

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Eland上传bge-large-zh-v1.5向量化模型到ElasticSearch中

最近需要做一些向量检索,试试ES 一、准备 系统:MacOS 14.3.1 ElasticSearch:8.13.2 Kibana:8.13.2 本地单机环境,无集群,也不基于Docker BGE是一个常见的文本转向量的模型,在很多大模型RAG应…

SpringBootSpringCloud升级可能会出现的问题

1.背景 之前负责过我们中台的SpringBoot和Cloud的升级,特次记录分享一下项目中可能出现的问题,方便后续的人快速定位问题。以及下述选择的解决方案都是基于让升级的服务影响和改动最小以及提供通用的解决方案的提前进行选择的。 1.1版本说明 升级前&a…

js进阶 事件循环(持续更新)

导入 js是单线程,同一时间只能做一件事,事件循环(EventLoop)来打破这个局面 异步任务 ajax网络请求setTimeout定时函数 简易粗糙的事件循环 同步任务进入主线程主执行栈异步任务进入任务队列主任务栈任务执行完毕,从任务队列读取对应任务…

npm怎么迁移到pnpm

下载的vue3模板用到了pnpm,就安装了一下 但是安装之后使用pnpm install 就发现包全被移动到ignored文件夹下面了,还报错 PS G:\Projects\gitProeject\TS_front> pnpm installWARN  Moving commitlint/config-conventional that was installed by a different …

中兴F7607P自启动程序,关闭JAVA插件

本文目的:关闭光猫内自动运行的JAVA插件,并实现开机自动调用用户的程序启动 移动定制版F7607P不带LXC容器,取而代之的是JAVA虚拟机,内置多个插件,包括名为CMCCDPI的插件,用途可以从名字上窥见。机器rootfs分…

快速上手Linux核心命令

Linux 的重要性不用我多说了吧,大多数互联网公司,服务器都是采用的Linux操作系统 Linux是一个主要通过命令行来进行管理的操作系统。 只有熟练掌握Linux核心命令,在使用起来我们才会得心应手 这里给大家整理了Linux一些核心命令&#xff0…

一些docker安装配置以及常见命令

​常用命令 docker 命令 //进去容器内部,找到需要拷贝的文件及目录 docker exec -it 2c2600fb60f8 /bin/bash ​ //将container id为4db8edd86202的容器内elasticsearch.yml文件拷贝到宿主机指定目录下: docker cp 4db8edd86202:/usr/share/elasticsea…

Spring Boot:Web应用开发之登录与退出的实现

Spring Boot 前言实现登录功能配置拦截器 实现退出功能 前言 登录与退出功能作为 Web 应用中的基础且重要的组成部分,直接关系到用户的安全和隐私保护。通过实现登录与退出功能,可以对用户的身份进行验证和授权,确保只有合法的用户才能访问特…

数据链路层(上):以太网、二层交换机和网络风暴

目录 数据链路层知识概览 数据链路层设备 1、二层交换机 2、拓展:二层交换机与三层交换机有啥区别? 3、广播风暴 4、交换机以太网接口的工作模式 数据链路层的功能 数据链路层--以太网 1、以太网是什么? 2、以太网地址 数据链路层知…

MediaStream使用webRtc多窗口传递

最近在做音视频通话,有个需求是把当前会话弄到另一个窗口单独展示,但是会话是属于主窗口的,多窗口通信目前不能直接传递对象,所以想着使用webRtc在主窗口和兄弟窗口建立连接,把主窗口建立会话得到的MediaStream传递给兄…

系统稳定性建设

说到系统稳定性,不知道大家会想起什么?大多数人会觉得这个词挺虚的,不知道系统稳定性指的是什么。 一年前看到这个词,也是类似于这样的感受,大概只知道要消除单点、做好监控报警,但却并没有一个体系化的方…

ChatGLM-6B的部署步骤

2022年8月,清华背景的智谱AI基于GLM框架,正式推出拥有1300亿参数的中英双语稠密模型 GLM-130B(论文地址、代码地址,论文解读之一,GLM-130B is trained on a cluster of 96 DGX-A100 GPU (840G) servers with a 60-day,…

【Excel如何在表格中筛选重复的值之条件格式】

在使用excel进行统计时经常会遇到,数据统计出现重复的现象,为了确保数据的唯一性,可以用到条件格式筛选出重复值,以确保数据的正确性。 筛选重复值: 选中要筛选的范围,行或列或整个表选中【开始】-【条件…

记录一次k8s pod之间ip无法访问,问题排查与定位

记录一次k8s pod之间ip无法访问,问题排查与定位 问题展现现象 node之间通信正常 部分node上的pod无法通信 排查有问题node 使用启动网络测试工具 环境准备 docker 数据库mysql 使用有状态副本集合 --- apiVersion: apps/v1 kind: StatefulSet metadata:anno…

MATLAB实现图片栅格化

MATLAB实现图片栅格化 1.读取图片:首先,你需要使用imread函数读取要栅格化的图片。 2.设置栅格大小:确定你希望将图片划分成的栅格大小,即每个栅格的宽度和高度。 3.计算栅格数量:根据图片的总尺寸和栅格大小&#…

pycharm 更换Eclipse 的按键模式 keymap

流程 整体来说比较简单,其实只要下载一个eclipse keymap插件就可以完成 首先 ctrl alt s 打开设置页面,找到 plugin 安装完成后还是在 settings 下切换到 keymap即可以看到eclipse 的按键设置出现了,应用后ok 即可完成 再去试试&#x…

绿色自适应网址发布页源码

源码介绍 绿色自适应网址发布页源码,源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,重定向这个界面 效果截图 源码下载 绿色自适应网址…

Adobe Bridge 2024 v14.0.3 (macOS, Windows) - 集中管理创意资源

Adobe Bridge 2024 v14.0.3 (macOS, Windows) - 集中管理创意资源 Acrobat、After Effects、Animate、Audition、Bridge、Character Animator、Dimension、Dreamweaver、Illustrator、InCopy、InDesign、Lightroom Classic、Media Encoder、Photoshop、Premiere Pro、Adobe XD…