• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
110922 knoss-vol26-c++运行库
 

110922 knoss-vol26-c++运行库

on

  • 907 views

{9月22日语音讲座vol.26}杨军: C++运行库理解

{9月22日语音讲座vol.26}杨军: C++运行库理解
http://bbs.code.ijinshan.com/thread-1374-1-1.html

Statistics

Views

Total Views
907
Views on SlideShare
907
Embed Views
0

Actions

Likes
0
Downloads
23
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    110922 knoss-vol26-c++运行库 110922 knoss-vol26-c++运行库 Presentation Transcript

    • 了解 C/C++ 运行库 杨 军
    • 主要分享内容 1 C/C++ 运行库是什么 2 C/C++ 运行库的功能 3 如何减小软件的大小
    • C/C++ 运行库是什么 每一个 C/C++ 程序,它的背后都有一套庞大的代码来进行支撑,以使得该程序能够正常运行。这套代码就是 C/C++ 运行库。 C/C++ 运行库由编绎器提供。 它主要有两个作用:实现 C/C++ 标准库函数的和实现 C/C++ 语言的一些机制。
    • 实现 C/C++ 标准库函数 C/C++ 运行库的大部分代码都是在实现 C,C++ 标准库函数 , 如 : printf, fopen, malloc, strlen, time, _beginthreadex,std::string 等。 1. 标准库函数与 Windows API 的关系 2. 需要注意的一些函数。 a. 使用了 TLS 的库函数 , 比如 _localtime64 b. _beginthreadex 和 CreateThread() 3. 动态链接 (MD) 与静态链接 (MT) 。 a: 链接错误,大部分是因为 lib 的编绎方式不一 致。 b: 模块间内存释放 , 谁分配谁释放。
    • 实现 C/C++ 语言机制 C/C++ 运行库实现了 C/C++ 语言自身的一些语言机制,比如 main 函数进入前全局变量要完成构造。静态变量的只能初始化一次,异常处理机制等。1. 全局变量及类中静态成员变量的初始化。2. 应用程序的入口函数。3. 静态变量的初始化
    • 如何减小软件的 Size1. 模块数非常多,使用 MD 编绎2. 模块数非常少,使用 MT 编绎3. 使用 VC6 运行库。4. 不使用 CRT
    • Thank you ! 推荐书籍 : 1. 《程序员的自我修养》 2. 《 windows 核心编 程》