29. vc编译器对c函数默认的调用方式是_cdecl方式,函数参数按照从右向左的顺序入栈,被调函数出栈即可顺序使用参数。函数调用者负责清除栈中的参数。此方式支持了c标准中的可变参数函数调用。

30. C#的完全基于.net framework (公共语言运行时CLR)的托管代码,其对象内存资源由框架负责管理。使用.net framework托管的代码编译生成中间语言,启动后由框架处理形成机器码,程序的整个声明周期交由框架负责而不是操作系统。这与c++写的非托管代码由操作系统(准确说是c运行时、c++标准库)负责调度是不同的。非托管代码需要手动释放内存资源,而托管是无需也不能干预的。

31. .net framework中80%的托管资源是无需释放的,另外的非托管资源是需要手动释放的(如文件,窗口或网络连接Brush、Pen、Socket、Image)。vs中可于托管代码中使用非托管代码的,如[DllImport("Kernel32")]形式的P-INVOKE平台调用技术即可引入。

32. 应用程序不能直接操作硬件设备,需要借助硬件驱动程序的桥接作用。如usb设备操作过程:应用程序-->win32 api-->usb设备驱动程序-->usb总线驱动程序-->主控制器驱动程序-->主控制器-->外围设备。

33. extern "C"告诉编译器其所修饰的函数或变量是按照c语言方式编译连接的,c++编译后会导致名字不同从而找不到c函数故用了c连接交换符号,同时extern强调了函数或变量作用范围的全局性(多模块使用,一次声明只声明不分配,一次定义,多处使用,拒绝static)。

34. Com组件实现了二进制级的代码复用与共享。

35. 模板函数实例化在编译程序处理函数调用时自动完成;模板类实例化必须程序中显式指定。

36. 显示调用(运行时动态链接)DLL中的函数时明文LoadLibrary("*.dll");GetProcAddress();需要*.dll位于当前目录或系统目录;隐式调用(载入时动态连接)如使用本地函数,使用编译器命令#pragma comment(lib,"*.lib"),*.lib位于工程目录中,*.dll位于可执行文件当前目录。

37. 析构函数尽量写成虚函数,这样便于继承后基类指针对子类对象的多态性表现。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sshhbb/archive/2011/01/27/6166194.aspx

转载于:https://www.cnblogs.com/shanghe/archive/2011/04/15/2017344.html

C/C++程序设计注意事项 (二)相关推荐

  1. 20155328 《Java程序设计》 实验二(Java面向对象程序设计) 实验报告

    20155328 <Java程序设计> 实验二(Java面向对象程序设计) 实验报告 单元测试 一.单元测试和TDD 编程时需理清思路,将编程需求等想好,再开始编.此部分可用伪代码实现. ...

  2. python程序设计梁勇 百度网盘_20194220 2019-2020-2 《Python程序设计》实验二报告

    20194220 2019-2020-2 <Python程序设计>实验二报告 课程:<Python程序设计> 班级: 1942 姓名: 梁勇 学号:20194220 实验教师: ...

  3. 自考c语言程序阅读题,自考C语言程序设计模拟试题二答案.DOC

    本资料由广州自考网收集整理,更多自考资料请登录 HYPERLINK "http://www.gzzk.cc" www.gzzk.cc下载 再长的路,一步步也能走完,再短的路,不迈开 ...

  4. c语言程序设计移动字母,C语言程序设计模拟试题二(含答案)

    C语言程序设计模拟试题二(含答案) 1.下列电子邮件地址中正确的是(其中□表示空格) A) Malin&http://www.doczj.com/doc/2969157fa26925c52cc ...

  5. python实验二报告_20172304 2019-2020-2 《Python程序设计》实验二报告

    20172304 2019-2020-2 <Python程序设计>实验二报告 课程:<Python程序设计> 班级: 1723 姓名: 段志轩 学号:20172304 实验教师 ...

  6. java构成对象的三要素_20155237 《JAVA程序设计》实验二(JAVA面向对象程序设计)实验报告...

    20155237 <JAVA程序设计>实验二(JAVA面向对象程序设计)实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S ...

  7. 20145207《Java程序设计》实验二(Java面向对象程序设计)实验报告

    <Java程序设计>实验二(Java面向对象程序设计)实验报告 目录 改变 Java面向对象程序设计实验要求 实验成果 课后思考 改变 看了下之前实验二的整体,很搞笑,大图+代码,没了.. ...

  8. 《Python语言程序设计》实验二

    <Python语言程序设计>实验二 一.实验项目:Python语言序列数据结构2 1.字典运算及应用 2.集合运算及应用 3.可迭代对象应用 4.理解并运用内置函数enumerate(), ...

  9. C#面向对象程序设计课程实验二: 实验名称:Windows 窗体程序

    C#面向对象程序设计课程实验二: 实验名称:Windows 窗体程序 实验内容:Windows 窗体程序 一.实验目的及要求 二.实验环境 三.实验内容与步骤 一.设计简单的计算器 3.1.实验内容 ...

最新文章

  1. android多线程断点续传
  2. python语言入门n-Python基础语法学习笔记
  3. Android的Activity生命周期模拟程序及解析
  4. LeetCode 18 四数之和
  5. ARMS为深绘智能系统保驾护航
  6. python快乐数字怎么表达_Python经典面试题:这些面试题你会了吗?
  7. 2019年普通高等程序员招生统一考试
  8. Javascript实现二级select联动
  9. java中的保留n位小数
  10. jedis操作set_Redis从入门到深入-Java操作Redis(12)
  11. 编写iPhone应用程序有何不同
  12. Linux之YUM方式安装SVN
  13. uni-app 调用安卓 高德sdk获取经纬度(替代 uni.getLocation)
  14. 如何通过波形解析can总线数据
  15. Windows - 强力删除文件
  16. CSS网页布局中易犯的10个小错误
  17. OS学习笔记-9(清华大学慕课)页面置换算法
  18. Stardust 案例:制作散景光斑
  19. 程序员请照顾好自己,周末病魔差点一套带走我。
  20. mysql 根据经纬度查询距离

热门文章

  1. python 加快计算速度_python怎么提高计算速度
  2. insert 数组_Java数组和集合的效率问题
  3. 【java】Thread.Sleep 与 Thread.onSpinWait
  4. 【jmx】java jmx 获取 kafka topic的logStart LogEnd信息
  5. Mac下IDEA安装Protobuf插件
  6. 05-java向Neo4j添加节点及其关系
  7. 95-130-350-源码-source-kafka相关-FlinkKafkaProducer
  8. Java应用线上CPU飙高
  9. Spark-submit诡异问题之:ERROR XJ040: Failed to start database 'metastore_db'
  10. spring cloud 和 dubbo 各自的优缺点