Linux下做C语言/C++开发的一些建议

2023-05-16

相对于Linux下的C/C++开发,在windows下的初学者往往容易入门,原因是visual studio, 这个强大的工具隐藏了很多的细节,好多人甚至以为拖拖控件,写写消息响应函数就是软件工程师了,这点在入门的时候尤为明显,出生牛犊不怕虎,信心满满。

方法/步骤

  1.         但是在这个强大工具的背后,隐藏了太多的东西,其中许多对于我们来说是非常重要的东西,比如Make, debug, call stack, 汇编代码,OS,哪些功能是系统提供的,哪些是工具提供的。所以很多人转过来的时候往往去类比以前windows的知识,但是又对不上,再加上无人指点,工作不用,可能慢慢的就会失去信心。

  2.         但是我认为作为一个有追求的C++软件工程师,如果不了解Linux, 我不认为他合格,当然此处无意挑起平台之争,实在是对于软件工程师而言Linux给了我们另一个选择,另一种思路,同时也提供了我们很多的轮子和一座宝库。

            如下总结出一些建议,希望对Windows转Linux开发的朋友有所帮助。

  3. 1. 不要一开始就去搞内核,先装上系统用Linux来完成一些日常的事情,比如:看电影,拷贝文件,添加修改用户,文件,学学shell 脚本。

  4. 2. 试着用命令行去编译一些简单的代码,然后逐步增加难度,然后学学make。

  5. 3. 学习Linux的一些基础知识,找本书看看。

  6. 4. 尝试自己去写一些小的东西,动起手来,别总看书而不去实践,实践出真知。

  7. 5. 学习如何调试代码。

  8. 6. 学习主要的一些系统调用,文件操作,socket操作等等。

  9. 9

    7. 学习简单的驱动开发,比如:串口驱动。学习内核源代码。

  10. 10

            另外在此需要指出的是,当你真正看透了Windows和Linux的C语言/C++开发的时候,你可能并不觉得他们有很大的区别,所谓殊途同归,说的可能就是这个道理,比如这两个平台的代码最后都会转换为IA32架构的指令序列,在转换过程中使用了不同的工具,反出来的汇编代码区别也不是太大。还是那句话,做同样的事情,每个人的切入点不同,所谓站得一山方望得另一山高,千万不要畏而不前,迟迟不敢动手。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux下做C语言/C++开发的一些建议 的相关文章

  • 卡尔曼滤波相关介绍及优缺点

    1 卡尔曼滤波算法为什么会叫滤波算法 xff1f 以一维卡尔曼滤波为例 xff0c 如果我们单纯的相信测量的信号 xff0c 那么这个信号是包含噪声的 xff0c 是很毛糙的 xff0c 但是当我们运行卡尔曼滤波算法去做估计 xff0c 我
  • STM32单片机(五)-寄存器地址理解和控制LED闪烁

    芯片 xff1a stm32f103zet6 1 存储单元一般应具有存储数据和读写数据的功能 一般以8位二进制作为一个存储单元 也就是一个字节 每个单元有一个地址 是一个整数编码 可以表示为二进制整数 2 stm32是32位单片机 xff0
  • 跨平台构建 Docker 镜像新姿势,x86、arm 一把梭

    点击 34 阅读原文 34 可以获得更好的阅读体验 在工作和生活中 xff0c 我们可能经常需要将某个程序跑在不同的 CPU 架构上 xff0c 比如让某些不可描述的软件运行在树莓派或嵌入式路由器设备上 特别是 Docker 席卷全球之后
  • 正点原子STM32F4笔记

    使用寄存器操作 xff0c 不错的博客 xff1a https blog csdn net w471176877 article category 1230060 https blog csdn net w471176877 article
  • JAVA中this用法小结

    我知道很多朋友都和我一样 xff1a 在 JAVA 程序中似乎经常见到 this xff0c 自己也偶尔用到它 xff0c 但是到底 this 该怎么用 xff0c 却心中无数 xff01 很多人一提起它 xff0c 就说 当前对象 xff
  • Linux Platform总线+SPI总线分析

    2015 07 1 11 20 本文以MPC8308 powerpc架构 xff0c HX软件包为依据 xff0c 详细内容可参考源码 CPU e300c3MPC8308 400MHz BOARD Freescale MPC8308ERDB
  • ubuntu下SD卡分区与挂载

    本来只是想借SD卡来做一个OK6410的升级 但笔记本上只装了ubuntu xff0c 一开始是可以识别sd卡的 xff0c 但按照网上的教程不小心将 dev sdb1删除了 导致ubuntu不能识别sd卡了 记录一下解决过程 1 sd的设
  • 信号量与互斥锁的一些理解

    一直对信号量和互斥锁只有一个模糊的认识 xff0c 今天特别学习了 xff0c 总结一下 一 从作用上来讲 互斥锁是用在多线程多任务互斥的 信号量用于线程的同步 二 从原理上讲 线程互斥锁 pthread mutex t 的实现原理 xff
  • springboot2.x +kafka使用和源码分析九(KafkaListenerEndpointRegistry暂停启动容器)

    我们在运行中如果需要暂停启动容器时可以通过此类KafkaListenerEndpointRegistry来处理 KafkaListenerEndpointRegistry源码 只解释了核心代码 public class KafkaListe
  • H3C 交换机配置命令

    H3C 交换机配置命令 三层和二层交换机配置命令 dis this 查看下属命令 save 保存 reboot 重启 初始化命令和提示选项 reset saved configuration 初始 清除所有配置信息后 提示是否初始化 xff
  • 【粒子群算法整定PID参数】MATLAB2016b(02一些细节问题)

    此帖主要针对01帖的细节方面 很抱歉更新的晚了 xff0c 现在我对01帖发布到现在 xff0c 用粒子群算法整定PID参数时存在的细节问题进行讲解 xff0c 以便于帮助大家学会此方法 xff0c 降低整定参数的难度 问题一 xff1a
  • 通过input框上传图像并预览

    HTML 如下 xff1a lt input type 61 34 file 34 name 61 34 upImg 34 gt lt input type 61 34 text 34 gt lt div id 61 34 showImag
  • STM32Cube STM32L053配置GPIO达到最低功耗详解含测量实际电流值

    外部有上拉电阻 xff0c 设置输入模式 xff0c 此模式最省电 设置输入模式 GPIO InitStruct Mode 61 GPIO MODE INPUT GPIO InitStruct Pull 61 GPIO NOPULL 外部有
  • Envoy 中文指南系列:Envoy 介绍

    原文链接 xff1a https fuckcloudnative io envoy handbook docs overview overview 前言 Envoy 是专为大型现代 SOA xff08 面向服务架构 xff09 架构设计的
  • Linux 内核代码行数达到 2700 万行量级

    来自 xff1a 技术让梦想更伟大 截止到2020年1月1日09 xff1a 00 xff1a 10 xff0c Linux内核Git源码树中的代码达到了2780万行 phoronix网站统计了Linux内核在进入2020年时的一些源码数据
  • 「得印度者,得天下」聊聊你不知道的印度在线视频江湖

    印度 xff0c 一个神奇古老的国度 千百年来 xff0c 恒河水鉴证了古印度王朝的兴衰更迭 xff0c 壮丽的历史文化 xff0c 和印度文明缘起缘灭的生死轮回 时光飞转 xff0c 来到公元 2018年 恒河水波澜不惊一切如昨 xff0
  • ROS系列——如何把ROS和STM32之间联系起来

    ROS系列 如何把ROS和STM32之间联系起来 本节内容包括如何实现ros主控和stm32之间的通信 xff0c 以及ros主控对stm32发送的数据做了哪些处理 一 两种控制器的功能 1 1 ROS主控实现的功能 雷达信息采集 摄像头信
  • Android中Parcelable接口详细用法

    Android中Parcelable接口 1 Parcelable接口 Interface for classes whose instances can be written to and restored from a Parcel C
  • 二分查找模板分析

    模板说明 xff1a 你在网上看到的 99 的二分查找问题会归结于这 3 个模板中的一个 有些问题可以使用多个模板来实现 xff0c 但是当你做更多的练习时 xff0c 你会注意到一些模板比其他模板更适合某些问题 注意 xff1a 模板和它
  • 使用SMPL进行pose and shape estimation常用数据集关节点信息

    1 SMPL模型关节点名称 self j names 61 0 39 Pelvis 39 1 39 L Hip 39 2 39 R Hip 39 3 39 Spine1 39 4 39 L Knee 39 5 39 R Knee 39 6

随机推荐

  • 研究生生涯的一些经验和感悟

    研究生生涯的一些经验和感悟 引言 写这篇博客前 xff0c 我不禁要感慨一下互联网分享所带来的好处 我这里讲的分享主要是指知识 技术和个人思想的分享 网络新闻媒体更多是传播一些资讯 xff0c 而这些资讯一般不涉及深入的技术 xff0c 深
  • U-SEM体验模型——让游戏交互设计的维度更加清晰

    U SEM体验模型 让游戏交互设计的维度更加清晰 U SEM体验模型 让游戏交互设计的维度更加清晰游戏交互设计的定位游戏交互设计的场景游戏对玩家输出玩家对游戏输入 游戏交互体验的维度 U SEM体验模型游戏交互的复杂度游戏交互设计的应用 游
  • ROS中geometry_msgs消息类型

    Point 点 float64 x xff0c float64 y xff0c float64 z Point32 float32 x xff0c float32 y xff0c float32 z 一般使用Point xff0c 大规模点
  • TTY 到底是个什么玩意?

    先来回答一道面试题 xff1a 我们知道在终端中有一些常用的快捷键 xff0c Ctrl 43 E 可以移动到行尾 xff0c Ctrl 43 W 可以删除一个单词 xff0c Ctrl 43 B 可以向前移动一个字母 xff0c 按上键可
  • ftp命令大全详解

    来熟悉熟悉ftp命令 xff0c 对于服务器之间的文件传输太有用啦 xff0c 不会怎么能行呢 xff01 先来看看基础的命令 xff0c 包括了连接 xff0c 列出列表 xff0c 下载 xff0c 上传 xff0c 断开这最基础的命令
  • TCP/IP,Linux中使用信号量控制运行中的进程,使用signal函数绑定信号量和处理函数,替换信号量默认功能,信号量会打断sleep的休眠状态

    TCP IP xff0c Linux中使用信号量控制运行中的进程 xff0c 绑定信号量和处理函数 xff0c 信号量会打断sleep的休眠状态 一 Linux中使用信号量对进程的调控 xff1a 1 信号量是一个int值 xff0c 由操
  • 几种经典非线性滤波算法简单概括(EKF,UKF,CKF,PF)

    几种经典非线性滤波算法概括 xff08 EKF xff0c UKF xff0c CKF xff0c PF xff09 上一篇文章阐述了Kalman滤波算法 xff0c 该算法是在线性高斯下的最优滤波估计算法 但是在实际控制系统中 xff0c
  • 扩展卡尔曼滤波(EKF)算法详细推导及仿真(Matlab)

    扩展卡尔曼滤波 xff08 EKF xff09 算法详细推导及仿真 xff08 Matlab xff09 扩展卡尔曼滤波算法是解决非线性状态估计问题最为直接的一种处理方法 xff0c 尽管EKF不是最精确的 最优 滤波器 xff0c 但在过
  • uio驱动编写 实例1

    AUTHOR xff1a Joseph Yang 杨红刚 lt eagle rtlinux 64 gmail com gt CONTENT uio驱动编写 实例1 NOTE xff1a linux 3 0 LAST MODIFIED xff
  • raspberry pi pico, 如何在macos平台使用picoprobe,vscode来debug程序

    debugprobe 80元人民币 再买一块pico 刷上debug程序 xff0c 仅要16元 xff0c 当然用便宜的 在mac上的vs code总是遇见问题 单独运行openocd时 xff0c 也有问题 xff0c 出现错误 CMS
  • 1—类、域、方法和实例对象

    Java 是面向对象的高级编程语言 xff0c 类和对象是 Java 程序的构成核心 围绕着 Java 类和 Java 对象 xff0c 有三大基本特性 xff1a 封装是 Java 类的编写规范 继承是类与类之间联系的一种形式 而多态为系
  • 常用数学公式汇总

    常用数学公式汇总 一 基础代数公式 1 平方差公式 xff1a xff08 a xff0b b xff09 xff08 a xff0d b xff09 xff1d a2 xff0d b2 2 完全平方公式 xff1a xff08 a b x
  • Kubernetes--API Server资源隔离

    Kubernetes的一些功能特性也与公有云提供商密切相关 xff0c 例如 xff1a 负载均衡服务 弹性公网IP 存储服务等 xff0c 具体实现也需要与API Server通信 xff0c 也属于运行商内部重点保障的安全区域 此外 x
  • 公式提取方法

    Mathpix Snipping Tool和MathType配合用法 Mathpix Snipping Tool是一个可以提取数学公式的工具 xff0c 当我们写毕业论文或者结课报告或者参加数学建模等比赛的用到的公式 xff0c 可以用这款
  • (学习unix编程)关于文件流与文件描述符的区别

    文件描述符 xff08 就是整数 xff09 用于在一个进程内唯一的标识打开的文件 这假定了内核能够在用户进程的描述符和内核内部使用的机构之间 xff0c 建立一种关联 xff08 深入linux内核架构 xff09 由于唯一标识进程的结构
  • 2000页kubernetes操作手册,内容详细代码清晰,小白也能看懂

    现如今 xff0c Kubernetes业务已成长为新时代的IT基础设施 xff0c 并成为高级运维工程师 架构师 后端开发工程师的必修技术栈 毫无疑问 xff0c Kubernetes是云计算发展演进的一次彻底革命性的突破 xff0c 只
  • Linux安装nodejs和npm

    最近window系统转向linux系统开发 xff0c linux系统的确适合程序员的开发 作为前端安装了nodejs和npm xff0c 遇到了一些坑 xff0c 赶紧记录下来 第一种安装方法 xff1a 安装nodejs xff1a s
  • 查看core dumped的详细错误原因

    什么是Core Dump Core的意思是内存 Dump的意思是扔出来 堆出来 开发和使用Unix程序时 有时程序莫名其妙的down了 却没有任何的提示 有时候会提示core dumped 这时候可以查看一下有没有形如core 进程号的文件
  • IntelliJ IDEA创建Servlet最新方法 Idea版本2020.2.2以及IntelliJ IDEA创建Servlet 404问题(超详细)

    第一次用IntelliJ IDEA写java代码 xff0c 之前都是用eclipse xff0c 但eclipse太老了 下面为兄弟们奉上IntelliJ IDEA创建Servlet方法 xff0c 写这个的目的也是因为在网上找了很多资料
  • Linux下做C语言/C++开发的一些建议

    相对于Linux下的C C 43 43 开发 xff0c 在windows下的初学者往往容易入门 xff0c 原因是visual studio 这个强大的工具隐藏了很多的细节 xff0c 好多人甚至以为拖拖控件 xff0c 写写消息响应函数