Linux GCC 开发入门(一) -- 使用makefile 命令行编译

 最近 要进行Linux 下 编写一个视频处理的程序。以前没怎么用linux开发,现在将自己从头学习过程,记录下来。不够肯定会有很多错误了。以后慢慢修正了。

1. 安装 Linux  --   Ubuntu 16.04 LTS.

2. 开发环境: 网上推荐的很多, 自己认为codeblocks, eclipse 比较好。

3.Eclipse 先慢慢装:


$sudo apt-get install eclipse-cdt  eclipse


4. 先用 命令行,编译个小程序.

    命令:  

gcc test.cpp -o test -lstdc++
or
g++ test.cpp -o test


 

5.  第一个测试程序,主要 确认 几个宏定义  

    GCC 编译版本   __GNUC__   主版本号      __GNUC_MINOR__   次版本号

__x86_64__ 64位平台编译。 _WIN32 windows 平台编译。

#include <iostream>
using namespace std;
#include <time.h>
#include <sys/socket.h>



#ifdef __GNUC__
  const char * g_Compiler = "GNU_C";
#else
  const char * g_Compiler = "UNKNOWN_C";
#endif



#ifndef __x86_64__
  const char * g_Arch = "x86_32";
#  else
  const char * g_Arch = "x86_64";
#endif


#define  _ShowMarco( x )    #x
#define  ShowMarco( x )     _ShowMarco( x)


int main()
{
    #ifdef _WIN32
      cout << "Build for Windows OS!" <<endl;
    #else
      cout << "Build for Linux!" <<endl;
    #endif

    cout << "Compiler: "  << g_Compiler << endl;
    cout << "32 or 64: "  << g_Arch     <<endl;

    cout << "pointer size: " << sizeof( g_Arch) << endl;
    cout << "time_t  size  " << sizeof(time_t) << endl;
    cout << "ssize_t  size  " << sizeof(ssize_t) << endl;
    cout << "socklen_t  size  " << sizeof(socklen_t) << endl;



    cout << "GNU version:   "<< ShowMarco( __GNUC__ )  << "."  <<  ShowMarco( __GNUC_MINOR__ )  <<endl;



    cout << "Hello World!" << endl;

    return 0;
}

   运行结果
 

     

     运行结果 (CentOS 6.5)

    

6.  makefile 的 使用。

CC        = g++
INC_PATH  = ../../include
CFLAGS    = -I $(INC_PATH)
LDFLAGS   = -lpthread

test: test.cpp
	$(CC) -o test test.cpp  $(CFLAGS) $(LDFLAGS)

clean:
	rm -f test


 

 



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大学生参加学科竞赛有着诸多好处,不仅有助于个人综合素质的提升,还能为未来职业发展奠定良好基础。以下是一些分析: 首先,学科竞赛是提高专业知识和技能水平的有效途径。通过参与竞赛,学生不仅能够深入学习相关专业知识,还能够接触到最新的科研成果和技术发展趋势。这有助于拓展学生的学科视野,使其对专业领域有更深刻的理解。在竞赛过程中,学生通常需要解决实际问题,这锻炼了他们独立思考和解决问题的能力。 其次,学科竞赛培养了学生的团队合作精神。许多竞赛项目需要团队协作来完成,这促使学生学会有效地与他人合作、协调分工。在团队合作中,学生们能够学到如何有效沟通、共同制定目标和分工合作,这对于日后进入职场具有重要意义。 此外,学科竞赛是提高学生综合能力的一种途径。竞赛项目通常会涉及到理论知识、实际操作和创新思维等多个方面,要求参赛者具备全面的素质。在竞赛过程中,学生不仅需要展现自己的专业知识,还需要具备创新意识和解决问题的能力。这种全面的综合能力培养对于未来从事各类职业都具有积极作用。 此外,学科竞赛可以为学生提供展示自我、树立信心的机会。通过比赛的舞台,学生有机会展现自己在专业领域的优势,得到他人的认可和赞誉。这对于培养学生的自信心和自我价值感非常重要,有助于他们更加积极主动地投入学习和未来的职业生涯。 最后,学科竞赛对于个人职业发展具有积极的助推作用。在竞赛中脱颖而出的学生通常能够引起企业、研究机构等用人单位的关注。获得竞赛奖项不仅可以作为个人履历的亮点,还可以为进入理想的工作岗位提供有力的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值