编译与多文件.

Slides:



Advertisements
Similar presentations
CNKI 知识资源总库 应用培训 内容要点 一、知网及产品体系 二、新版检索平台 三、基础功能演示 四、应用案例演示 五、实际操作.
Advertisements

职业指导服务系统 欢迎了解职业指导服务系统!
《3-6岁儿童学习与发展指南》概述.
考点二 政治文明 ——英法美代议制民主的确立.
基础模块 模块一 程序设计基础 (一)开发环境部分.
毛峰教授 北京师范大学教授,博士生导师 国家社科基金项目专家 北京华文教育顾问
授课教师:江星玲 1.
培养目标 1.建立基本的程序设计概念体系,掌握基础程序设计方法。
文明史观 文明史观,通常被称为文明史研究范式,是研究历史的一种理论模式。人类社会发展史,从本质上说就是人类文明演进的历史。
第 2 章 初探 C++.
提高自身素质做好 新时期班主任工作 北京市广渠门中学 高金英.
“计算机与网络”工作室和相关特需课程建设
普通话模拟测试 与学习平台 使用指南.
香港普通話研習社科技創意小學 周順強老師.
第九章日治時期的台灣(下).
Linux基礎學習 課本:Ubuntu Linux 管理與架站實務 博碩文化出版發行.
網路小說劇情建構與伏線營造 Windows98.
第7章 行政监督.
第1讲 实验环境.
关于整合检验检测认证机构实施意见的通知(国办发〔2014〕8号)
推进德育创新 做好新时期班主任工作 北京市广渠门中学 高金英.
92-90數學課程綱要比較 -- 不含數與計算 台北市立師範學院 數學資訊教育系副教授 李源順.
QT编程简介 李杨 Qt系列讲座 组织:柴树杉 1. Qt编程简介 智能仿生,柴树杉 2. 创建主窗口程序 3. Qt+VTK开发三维应用
Ubuntu 驱动安装准备 1. 确认ubuntu操作系统版本 2. 运行安装脚本 3.驱动Controller.
也許你很疑惑: 最近升官的同事,專業能力又沒你強! 情場得意的朋友,長的又沒你帥或美! 小曹要交新朋友,為什麼就是比較簡單!
第ㄧ章 認識 VB 2008 與主控台應用程式 注意:本投影片僅供上課使用,非經同意,請勿散播或轉載。
第7章:文件共享与远程控制 第6章:vi/vim——回顾 本章教学目标: vi/vim的三种工作模式 vi/vim的基本用法
Linux.
Linux的認識與使用 2013/01/05.
《美国的两党制》选考复习 温州第二高级中学 俞优红 2018年6月14日 1.
資源班的知識性文本閱讀 報告人:吳居璋.
网络仿真工具介绍
3-1 電腦作業系統的功能與類型 3-2 Windows XP的基本操作 3-3 Windows XP的檔案管理
課程名稱:計算機概論 授課老師:李春雄 博士
Linux环境下程序编译 曙光信息产业(北京)有限公司.
Compilers Flex & Bison 的安裝使用
Chapter 1 用VC++撰寫程式 Text book: Ivor Horton.
開發環境設置.
第二十九章 DLL / LIB函式庫開發 當我們開發程式到一個階段之後,我們一定會希望各個Component的程式碼可以分開的越清楚越好。而這一章最主要就是要告訴各位讀者,我們常在Windows系統中看到的dll或是lib的檔案該怎麼實作?做出這樣的library我們又該如何運用?為什麼使用dll或是lib有利於我們開發程式?以上這些疑問都將會在這一章中得到解答。
DM81X 视频采集处理 ——软硬件环境介绍 广州创龙电子科技有限公司
第1章 Fortran概述 作为一门诞生于上个世纪50年代后半期的高级计算机语言,Fortran在这个C/C++、Java等新兴语言大行其道的时代仍然活跃在人们的视野之中。Fortran语言的长项在于数值计算,在科学研究和工程设计领域有着广泛的用途。在描述数学语言的自然性方面,Fortran同现存的其他高级语言相比有着明显的优势。对于科研工作者和工程技术人员而言,Fortran语言的易学性和易用性是公认的。
高并发之Redis初级 讲师:杨振平 博客地址:blog.csdn.net/yangzhenping
編譯環境介紹.
第1章 .NET与C# 为什么要设计一门新的编程语言? C#在微软的.Net平台中占据什么样的地位?
伺服器探索營 Day 1 指導老師: 張啟中 (JohnAxer) 教學助理:
第3章 Linux免安裝版學習與操作 課前指引
日构建
代码风格 ACM Class 2016 范舟.
第一章 C++编程简介 丘志杰 电子科技大学 计算机学院 软件学院.
永远的 Autotools ——GNU Build System 简介(一)
第1章、系統軟體 作者:陳鍾誠 旗標出版社.
詩文的形成 有意義的字詞 句子 段落 一首詩文的形成,是由有意義的字詞組成句子,再由句子組成段落。
疾病预防控制绩效考核管理软件 开发思路 & 使用说明
TinyOS开发环境安装 基于Ubuntu14.04.
Linux核心編譯與模組管理 2013/01/19.
编辑文本文件 软件包管理 Samba 在Linux下使用Windows共享打印机
2017 Operating Systems 作業系統實習 助教:陳主恩、林欣穎 實驗室:720A Lab3.
Totoro大冒險 電腦遊戲設計 資三B 李沛儀 資三B 張家瑜.
Name1..hour //加班時數 name2..hour //請假時數
2018 Operating Systems 作業系統實習 助教:林欣穎 實驗室:720A Lab3.
QQ群 主要用于线下讨论答疑 用于发布一些通知公告 修该备注,如 经济学院_2019_张三. 刘东华 信息技术中心 敬宾楼1406
電腦軟體設計丙級 Visual Basic簡介 建國科技大學 資管系 饒瑞佶 2010年.
課程網站
物件導向程式設計 CH2.
序言 報告內容: 你對父母的感覺 你與父母的關係 你是否與父母同居 你與父母見面的時間 每天與父母的談話時間 與父母談話的內容 結論 感想.
——向刑事案件被告人家属调查取证的伦理性讨论
第2节 大气的热力状况 基础知识回顾 重点难点诠释 经典例题赏析.
C++程序设计 概述 潘荣江 山东大学软件学院.
code::blocks 與GLUT 程式開發
Fortran 实用编程 Fortran Coder 研讨团队 系列视频教程
Presentation transcript:

编译与多文件

#include 有什么作用? 文件展开 以便于引用一些已经完成的代码

库(library) 已完成供别人使用的代码 std::cout << “Hello World” << std::endl; a = pow(b, c); // a = bc 常用C++库: STL(Standrad Template Library)

一个C++文件如何被编译出来 预处理 汇编 编译 链接

一个C++文件如何被编译出来 编译 链接 将.cpp编译为二进制的.o文件 将二进制文件链接成为可运行文件

链接 链接 对象文件 .obj/.o .cpp编译产物 链接成完整的程序 动态链接库 .dll/.so 静态链接库 .lib/.a 库文件 在运行时即时链接 不需要参与编译 库文件 相当于多个.o文件的合集

最简单的多文件实例 calc.h main.cpp calc.cpp 注意不要循环引用

编译环境的准备 编译器 GNU GCC(g++) 开源、跨平台 MSVC 不推荐,单平台且对新标准支持少 依赖库 Windows: 一般使用MinGW搭建编译环境,许多编译好的库可以使用 Linux: 有时需要自己下载库的源码进行编译,但对开发友好,使用包管理器解决依赖问题简单。(推荐Ubuntu GNOME) Mac OS: 兼具两者优点,可以使用homebrew。 IDE 对大型开发友好,方便进行多文件程序的编写、编译、运行。 推荐:Code::Blocks, Clion, Qt Creator, Visual Studio

在Path最后加上 ;(MinGW目录)\bin Mac OS Ubuntu Windows VS Mac OS: 使用homebrew安装g++ Ubuntu: 使用apt-get安装g++ 将~\bin 添加至path环境变量 环境变量: 此电脑(属性)→高级系统设置→环境变量 在Path最后加上 ;(MinGW目录)\bin (或者新加一行)

开始编译吧! 1 2 最简单的方式 一些常用的编译选项: g++ main.cpp calc.cpp -o main –Wall 等价于 g++ -c main.cpp -o main.o g++ -c calc.cpp -o calc.o g++ main.o calc.o -o main 一些常用的编译选项: –Wall –g –std=c++11 -O2 使用g++ 1 使用IDE 2 CMAKE

开始编译吧! 1 2 以Code::Blocks为例: File →New… →Project… →Empty project 使用g++ 使用g++ 1 使用IDE 2 CMAKE

开始编译吧! 1 2 不同的IDE之间存在着差异 不能要求每个使用代码的人都安装和作者一样的IDE来编译代码 需要一种更为简易、普适、无图形界面要求的解决方案 GNU make (makefile) 类似一种脚本语言,描述了整个工程如何编译 CMake 一种更为优秀的管理方案,编写简单。运行后生成makefile 使用g++ 1 使用IDE 2 CMake

开始编译吧! 1 2 CMake的一般使用方式: mkdir build && cd build cmake .. make make install 具体使用方法见各个库发布网站上的README 使用g++ 1 使用IDE 2 CMake

Thanks! Q & A