首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux环境下通过GDB调试C项目实战

通过GDB调试找到程序的bug 请查看位于https://github.com/xmu-Linux101/Linux101/tree/201720182/experiments/gcc-5-gdb的代码...我们可以看到文件的目录结构是一个典型的C语言项目架构:Makefile,include文件夹下是预先定义好的库函数,粗看文件结构应该可以想到array.c是一个具体实现函数功能的文件,main.c则是总的主函数...,进行测试编写的代码功能是否正常执行 在找这个项目的bug之前我们必须确认一下Makefile的内容是否有逻辑错误或者语法错误,这样才能保证我们后期的调试没有问题 输入vi Makefile,我们看到:...array.o可执行文件并编译array.c生成array.o文件 main:清除已经存在的main.o可执行文件并编译mian.c生成main.o文件 main_optimize:编译mian.c生成...访问之后程序会破坏内存原有数据,导致缓冲区泄露,并且发生不可预知的错误(在这里则是将i的内存地址和a[10]绑定起来,相当于每次修改a[10]的时候就顺便将i置为0,这样就会导致死循环) 总结来说:这个项目运行起来没有问题

5.3K50

win10使用WSL编译Linux C++项目

为什么要在windows下编译Linux项目?...开启后就是个标准的linux程序了,可以看到系统的 C D E等盘都被挂载到了/mnt下面。 如何编译代码? 1,设置源和代理,修改系统配置 WSL默认带的包很少,编译需要的东西很多都要自己安装。...2,下载安装相关的组件: 不同的项目需要的编译工具,以我们项目为例: 我们需要gcc4.8,所以: sudp apt install gcc-4.8 sudp apt install g++-4.8...再做一下软链接: cd /usr/bin ln -s gcc-4.8 gcc ln -s g++-4.8 g++ ln -s gcc-4.8 cc ln -s g++-4.8 c++ 可能需要root...ssh工具(比如putty、secureCRT等)连接到ubuntu,这里给一个ubuntu下面开启sshd的方法,参考:https://hbaaron.github.io/blog_2017/%E5%9C%

9.6K90
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux 下makefile实战 ——编写真实的C项目

    Linux 下真实的C项目设计 文件目录说明 include 存放自己设计的.h头文件之所在 include/stack.h 栈所使用的头文件。文件中已经定义出其包含的功能函数。...具体请查看文件注释 stack.c 栈的功能函数的实现文件。目前为空文件。 main.c 一个简单的主程序,调用自定义栈的功能测试入栈、出栈的功能。 Makefile make的控制文件。...实现Makefile 实现make命令完成所有编译、链接工作 实现make clean命令可以恢复代码为原始状态 运行结果 在windows下打开linux shell: ?...我们看下makefile的内容: main:main.o my_stack.o gcc main.o my_stack.o -o main main.o:main.c gcc -c main.c my_stack.o...:my_stack.c gcc -c my_stack.c clean: if [ -e main ] ; then rm main ; fi if [ -n "ls *.o >/dev/null

    1.2K50

    C#项目 学生选课系统 C#窗口 Winform项目 项目源码及使用说明

    项目源码下载地址 https://gitee.com/whuanle/xkgl 笔者录了两个视频,打开项目源码地址,可以先看看视频了解项目界面。...软件架构 软件架构说明 使用C#编写,为winform项目 为了优化界面,使用了 CsKin ?...安装教程 直接使用vs2010打开项目中的xk.sln 还原数据库:执行项目下的sql文件,在数据库中执行,为了确认导入成功,请重复执行2次 更改文件数据库连接 Properties/Settings/...使用说明 CPublic.cs是公共类文件 其它为实现功能的窗口文件,打开项目后就可以看到。这里不再赘述。...参与贡献 原创 曾建华(深职院老师) 修改优化、加皮肤、增加功能、项目发布 痴者工良 ----

    1.6K21

    经典C语言C++项目,雷霆战机

    FlushBatchDraw(); Sleep(2); } EndBatchDraw(); return 0; } 如果有哪里不懂,可以问我,当然如果有哪里有问题,也欢迎大佬提出哦  项目文档...技术实现 - 游戏开发工具 采用VS2022,Easyx图形库,C语言/C++ - 游戏代码结构和模块划分 1.初始化游戏窗口 2.初始化游戏数据 3.循环游戏事件 编写玩家控制模块,碰撞模块...总结和展望 - 游戏开发过程中的经验和教训 增加我对C语言的使用熟练度,更好的掌握条件控制与循环控制程序运行 接触到一部分C++知识如IMAGE变量,MySQL数据库,多线程使用(基础版),有利于我之后进一步接触...C++ 对bug的调试更加熟练,同时掌握开发游戏最基础的逻辑,锻炼自己的逻辑思维 增加团队合作,增长团队合作精神

    16900

    C#项目代码规范

    前言    小菜就是小菜,几个人搞出来的项目,让公司大牛稍微看了下,最后送出了惨不忍睹四个字。...这样的项目代码要是让人来维护或者添加功能、查找bug会头痛欲裂。也没办法谁叫咱们是小菜呢?...在C#中通常使用的两种编码方式如下   Camel(驼峰式): 大小写形式-除了第一个单词,所有单词第一个字母大写,其他字母小写。   ...C#代码规范 1、 类型(类、结构、委托、接口)、字段、属性、方法、事件的命名   优先考虑使用英文(尽量使用英文),如果实在没有合适的英文进行描述,可以使用拼音,使用中文是不符合要求的。...总结 本文的规范,将会在接下来的新项目中进行参考使用,使用过程中遇到的问题或者意见,将会反馈到本文,也恭请各位客官前来参阅,共同优化。

    1.6K40

    Linux】简易日志工具项目

    官方网站在这里 Glog是由Google开发的C++日志库,它提供了基于C++风格的日志API,支持条件日志记录、日志旋转和严重错误时的信号处理。...同样日志在项目开发中至关重要,从开发调试阶段 - 测试阶段 - 部署阶段 - 运行维护阶段…都具有相当重要的作用!并且一个优雅的日志系统是可以让开发者赏心悦目的进行项目开发,优雅!...模块化和抽象思维: 日志工具的开发需要良好的模块化和抽象思维能力,这有助于在未来的项目中更好地组织代码。...增强项目经验: 开发日志工具可以作为一个独立的项目经验,有助于在简历上展示实际编程能力和解决问题的能力。 总之,开发一个自己的简易日志工具是一个综合性的学习过程,下面我们来开发一个自己的日志工具!...3 总结 项目技术栈: 编程语言:C++ 操作系统相关:POSIX线程(pthread)、文件操作、时间处理 编程技巧:面向对象编程、设计模式(单例模式、工厂模式)、RAII(资源获取即初始化)

    11410

    Linux项目部署(完)

    切换到app目录下 cd /usr/local/app ​ C. 执行指令,进行jar包上传 rz 此时这个jar包就上传到 /usr/local/app 目录了。 3)....启动SpringBoot程序 由于我们的项目已经打成jar包上传上来到Linux服务器,我们只需要运行这个jar包项目就启动起来了,所以只需要执行如下指令即可: java -jar helloworld...但是这个工程目前是存在问题的,就是当前我们项目启动的这个窗口被霸屏占用了,如果我们把这个窗口关闭掉(或ctrl+c),当前服务也就访问不到了,我们可以试一下。 目前程序运行的问题: A....在Gitee上创建远程仓库,并将本地的项目代码推送到远程仓库中 2). 在Linux中安装Git,克隆代码 3). 在Linux中安装maven 4)....解压maven安装包到/usr/local目录 tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local 3).

    1.3K30
    领券