[干货分享] 【回帖有奖】《云话鲲鹏之大咖来了》第3期:#探索鲲鹏#之“在鲲鹏上使用编程语言——C语言”

第三期-02.png


大家好,鲲鹏论坛《云话鲲鹏之大咖来了》第3期如约在周一与大家见面了哦


科技前沿,探寻不怠,以责任、权威和专业,


《云话鲲鹏之大咖来了》将从#初识鲲鹏#、#探索鲲鹏#、#玩转鲲鹏#等不同的维度带领大家更深刻的认识和学习鲲鹏!


本期邀请到的大咖仍然是太一,作为华为云鲲鹏解决方案架构师,太一在鲲鹏社区发表了一系列关于鲲鹏的专业技术文章,我们会在接下来的《大咖说》中逐一为大家推荐!


文末有福利哦


文末有福利哦

本期大咖


胡兴哲.jpg

论坛昵称】 太一


大咖称号 华为云鲲鹏解决方案架构师


技能介绍 丰富的鲲鹏软件调研、鲲鹏迁移、鲲鹏开发和云上开发者生态建设经验




本期推荐文章:在鲲鹏上使用编程语言——C语言


#关键词#:初识鲲鹏 、C语言


内容简介】本文将从三部分手把手教大家如何在鲲鹏上使用编程语言:1、编写hello world,并在鲲鹏上运行;2、编写一个带cmake的标准跨平台C工程,完成软件在鲲鹏平台上的编译,安装功能;3、选择一种由C / C ++语言编写的跨平台开源软件Mysql,完成该软件的编译,安装,制作成可分发的替代。


正文开始



在鲲鹏上使用编程语言——C语言



这不是一个C语言的教程。

 

然后接下来的几期,主要介绍各种编程语言在鲲鹏上如何从二进制编译到二进制文件,从二进制文件编成一体,从软件包制作成码头工人或者VM一体的一系列实践。

 

由浅入深分三个部分

  • 编写一个经典的hello world,并在鲲鹏上运行起来

  • 编写一个带cmake的标准跨平台C工程,能完成软件在鲲鹏平台上的编译,安装功能

  • 选择一种由C / C ++语言编写的跨平台开源软件Mysql,完成该软件的编译,安装,制作成可分发的替代。

 

 

由于鲲鹏上主要能运行的操作系统都是Linux内核的,因此我们选择CentOS7.5作为讲解的代表。

 

编写一个经典的hello world,并在鲲鹏上运行起来

我们选择历史上最经典的Hello World,用来打印出hello world。

1个
2
3
4
#include  <font></font>
main() {<font></font>
   printf("hello world\n");<font></font>
}



  1. 登录鲲鹏开发环境。

  2. 配置软件仓库

  3. 1个
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18岁
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    # CentOS-Base.repo<font></font>
    #<font></font>
    # The mirror system uses the connecting IP address of the client and the<font></font>
    # update status of each mirror to pick mirrors that are updated to and<font></font>
    # geographically close to the client.  You should use this for CentOS updates<font></font>
    # unless you are manually picking other mirrors.<font></font>
    #<font></font>
    # If the mirrorlist= does not work for you, as a fall back you can try the<font></font>
    # remarked out baseurl= line instead.<font></font>
    #<font></font>
    #<font></font>
     <font></font>
    [base]<font></font>
    name=CentOS-$releasever - Base - mirrors.huaweicloud.com<font></font>
    baseurl=https://mirrors.huaweicloud.com/centos-altarch/$releasever/os/$basearch/<font></font>
    #mirrorlist=https://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os<font></font>
    gpgcheck=1<font></font>
    gpgkey=https://mirrors.huaweicloud.com/centos-altarch/RPM-GPG-KEY-CentOS-7<font></font>
     <font></font>
    #released updates<font></font>
    [updates]<font></font>
    name=CentOS-$releasever - Updates - mirrors.huaweicloud.com<font></font>
    baseurl=https://mirrors.huaweicloud.com/centos-altarch/$releasever/updates/$basearch/<font></font>
    #mirrorlist=https://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates<font></font>
    gpgcheck=1<font></font>
    gpgkey=https://mirrors.huaweicloud.com/centos-altarch/RPM-GPG-KEY-CentOS-7<font></font>
     <font></font>
    #additional packages that may be useful<font></font>
    [extras]<font></font>
    name=CentOS-$releasever - Extras - mirrors.huaweicloud.com<font></font>
    baseurl=https://mirrors.huaweicloud.com/centos-altarch/$releasever/extras/$basearch/<font></font>
    #mirrorlist=https://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras<font></font>
    gpgcheck=1<font></font>
    gpgkey=https://mirrors.huaweicloud.com/centos-altarch/RPM-GPG-KEY-CentOS-7<font></font>
    enabled = 1<font></font>
     <font></font>
    #additional packages that extend functionality of existing packages<font></font>
    [centosplus]<font></font>
    name=CentOS-$releasever - Plus - mirrors.huaweicloud.com<font></font>
    baseurl=https://mirrors.huaweicloud.com/centos-altarch/$releasever/centosplus/$basearch/<font></font>
    #mirrorlist=https://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus<font></font>
    gpgcheck=1<font></font>
    enabled=0<font></font>
    gpgkey=https://mirrors.huaweicloud.com/centos-altarch/RPM-GPG-KEY-CentOS-7


  4. 安装C / C ++ 语言编译器

  5. 1个
    yum install gcc gcc-c++ libstdc++-devel


  6. 创建一个文件main.c,并编写hello world源代码

  7. 1个
    2
    3
    4
    #include  <font></font>
    main() {<font></font>
       printf("hello world\n");<font></font>
    }
  8. 使用gcc编译出一个初始化程序,并执行

  9. image.png

  10. 为这个工程配置一个经典的Makefile。在工程目录下创建文件Makefile,并添加如下内容:

  11. 1个
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    default_target : all<font></font>
     <font></font>
    all:main.o<font></font>
    cc -o main main.o<font></font>
    main.o:<font></font>
    cc -c main.c<font></font>
    clean:<font></font>
    rm -r main *.o<font></font>
     <font></font>
    install:all<font></font>
    cp -f main /usr/bin



  12. 尝试使用make命令进行软件编译和安装,并做测试。

  13. 1个
    make && make install



image.png

image.png



因文章太长,此处仅摘抄一部分,可点击原文查看完整文章




来喽来喽,福利,福利,福利,它真的来喽!


有奖问答


一、活动规则:

针对本期内容,回答与本期内容相关的两个问题,回答正确既可有机会获得码豆2000个(5个名额)HDC大会六折购票资格早鸟票再打6折购票福利(8个名额),获奖楼层按回复楼层百分比进行抽取:


码豆获奖楼层:15%、38%、62%、77%、92%


6折购票福利获奖楼层:8%、23%、31%、46%、54%、69%、85%、100%


二、活动时间:2019年12月16日-2019年12月22日


三、本期【有奖问答】题目:

1、在使用鲲鹏和X86编译1个C语言的开发工程有什么差异?

2、如何在不改动系统的前提下,使用高版本GCC进行编译?


四、请注意:

1、楼层计算中出现小数的,四舍五入;中奖楼层不符合参与方式的,顺延至下一有效楼层;

2、所有用户均可参与,为杜绝恶意灌水,每个ID连续回复不得超过3楼,总回复不得超过10楼,否则取消获奖资格,奖品顺延至下一有效楼层;

3、中奖用户不重复;

4、码豆发放需要在活动结束后统一发放,需要提供正确的华为云账号名,开奖后请于3日内私信楼主提供个人信息,逾期作废,*注意事项:1.用户需要至少登陆过一次DevCloud会员中心。  2.用户提供的账号名需要是注册时首次填写账号名,后期修改过的无法发放。 3.如果用户是一个租户下的子账号,需要同时提供租户名及用户名;

5、6折购票福利将于活动结束后3个工作日内,在论坛通过私信方式发放,请注意查收论坛提醒和信息。



往期大咖说:

《云话鲲鹏之大咖来了》第1期:#初识鲲鹏#之“鲲鹏初学者开始指南”

《云话鲲鹏之大咖来了》第2期:#探索鲲鹏#之“创造一个属于自己的鲲鹏开发者环境




获奖楼层公布啦~


码豆