云社区 博客 博客详情
云社区 博客 博客详情

《云话鲲鹏之大咖来了》第3期:#探索鲲鹏#之“在鲲鹏上使用编程语言——C语言

别慌,我只是路过 发表于 2019-12-17 10:30:45 12-17 10:30
别慌,我只是路过 发表于 2019-12-17 10:30:45 2019/12/17
0
0

【摘要】 大家好,鲲鹏论坛《云话鲲鹏之大咖来了》第3期如约在周一与大家见面了哦 科技前沿,探寻不怠,以责任、权威和专业, 《云话鲲鹏之大咖来了》将从#初识鲲鹏#、#探索鲲鹏#、#玩转鲲鹏#等不同的维度带领大家更深刻的认识和学习鲲鹏! 本期邀请到的大咖仍然是太一,作为华为云鲲鹏解决方案架构师,太一在鲲鹏社区发表了一系列关于鲲鹏的专业技术文章

1578903314236698.png


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

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

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

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

本期大咖


1578905129874958.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. 配置软件仓库

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

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

1yum install gcc gcc-c++ libstdc++-devel

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

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

使用gcc编译出一个初始化程序,并执行

image.png

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

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

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

1make && make install



image.png

image.png



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



往期云话鲲鹏之大咖来了:

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

第二期:《云话鲲鹏之大咖来了》第2期:#探索鲲鹏#之“创造一个属于自己

登录后可下载附件,请登录或者注册

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:huaweicloud.bbs@huawei.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
评论文章 //点赞 收藏 0
点赞
分享文章到微博
分享文章到朋友圈

评论 (0)


0/1000
评论

登录后可评论,请 登录注册

评论

您还没有写博客的权限!

温馨提示

您确认删除评论吗?

确定
取消
温馨提示

您确认删除评论吗?

删除操作无法恢复,请谨慎操作。

确定
取消
温馨提示

您确认删除博客吗?

确定
取消

确认删除

您确认删除博客吗?

确认删除

您确认删除评论吗?

温馨提示

登录超时或用户已下线,请重新登录!!!

确定
取消