Linux学习笔记之一 ---学习linux初衷和入门

本人大部分时间都是从事于C++相关的开放工作,随着公司demo和production机器的不断增加,运维监控,自动运维的事项被重视,开始配置开源的监控工具,开发对应的插件。

开始只是简简单单的用yum install安装配置,然后写对应的插件,但是对于开发的自己老觉得既然是开源,不分析和调试源码心里还是痒痒的,此时的自己发现有点无从下手,windows习惯了IDE的作用,虽然linux也有部分IDE,大部分还是GDB调试,不懂就抽空学习,于是萌发了学习linux下的相关编程学习,由于原先配置的监控软件已经是在centos的linux下,就直接用centos学习吧 , 本人学习的书籍是《linux 程序设计》第四版,有错误之处请指出,也仅仅是自己的理解记录自己的学习过程,看具体的可以直接度娘下载

今天就从Hello World 开始吧

1.编译、连接和运行程序

hello.c

#include<stdio.h>
#include<stdlib.h>

int main(){
  printf("Hello World\n");
  exit(0);
}


$gcc-o hello hello.c

$./hello

2.有关静态库
(1)创建小型函数库,fred.c和bill.c
fred.c
#include<stdio.h>

void fred(int arg){
  printf("fred:we passed %d\n",arg);
}

bill.c
#include<stdio.h>

void bill(char*arg){
 printf("bill:we passed %s\n",arg);
}
$gcc -c bill.c fred.c (其中-c选项的作用是阻止编译器创建一个完整的程序)
$ls *.o
bill.ofred.o

(2)编写一个调用bill的函数程序,创建一个头文件lib.h
lib.h
/*
 *Thisislib.h.It declares the functions fred and bill forusers
 */

void bill(char*);
void fred(int);

(3)然后再编写调用程序program.c
#include<stdlib.h>
#include"lib.h"

int main(){
   bill("Hello Wrold");
   exit(0);
}

(4)编译显式指定目标文件,然后要求编译器编译文件及其先前编译好的目标模块bill.o链接
$gcc -c program.c 
$gcc -o program program.o bill.o
$./program
bill:we passed Hello World


(5)创建库文件
$ar crv libfoo.a bill.o frde.o
a-bill.o
a-fred.o


在某些系统中尤其是BerkeleyUnix衍生的系统中,需要为函数生成一个内容表执行如下命令
$ranlib libfoo.a


(6)现在可以使用函数库了
$gcc -o program program.o libfoo.a 
$./program
bill:we passed Hello World

(7)可以使用ldd来查看程序需要的共享库
$ldd program
linux-vdso.so.1=> (0x00007ffe27305000)
libc.so.6=>/lib64/libc.so.6(0x00007f01a57ab000)
/lib64/ld-linux-x86-64.so.2(0x00007f01a5b7f000)


(8)获取帮助
$man gcc
$info gcc

OK,本次学习记录结束


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的海滨体育馆管理系统,源码+数据库+毕业论文+视频演示 本基于Spring Boot的海滨体育馆管理系统设计目标是实现海滨体育馆的信息化管理,提高管理效率,使得海滨体育馆管理工作规范化、高效化。 本文重点阐述了海滨体育馆管理系统的开发过程,以实际运用为开发背景,基于Spring Boot框架,运用了Java技术和MySQL作为系统数据库进行开发,充分保证系统的安全性和稳定性。本系统界面良好,操作简单方便,通过系统概述、系统分析、系统设计、数据库设计、系统测试这几个部分,详细的说明了系统的开发过程,最后并对整个开发过程进行了总结,实现了海滨体育馆相关信息管理的重要功能。 本系统的使用使管理人员从繁重的工作中解脱出来,实现无纸化办公,能够有效的提高海滨体育馆管理效率。 关键词:海滨体育馆管理,Java技术,MySQL数据库,Spring Boot框架 本基于Spring Boot的海滨体育馆管理系统主要实现了管理员功能模块和学生功能模块两大部分,这两大功能模块分别实现的功能如下: (1)管理员功能模块 管理员登录后可对系统进行全面管理操作,包括个人中心、学生管理、器材管理、器材借出管理、器材归还管理、器材分类管理、校队签到管理、进入登记管理、离开登记管理、活动预约管理、灯光保修管理、体育论坛以及系统管理。 (2)学生功能模块 学生在系统前台可查看系统信息,包括首页、器材、体育论坛以及体育资讯等,没有账号的学生可进行注册操作,注册登录后主要功能模块包括个人中心、器材管理、器材借出管理、器材归还管理、校队签到管理、进入登记管理、离开登记管理、活动预约管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值