p,li { white-space: pre-wrap }

# C/C++的笔试题目

+ include<> 和include"" 的区别

+ sizeof操作符与字符串长度

>

char *p = "hello world";

char q[] = "hello world";

sizeof(p), sizeof(q), strlen(p), strlen(q)的值?

###结果

>

fire@fire:~/train$ ./a.out

sizeof p : 12

strlen p : 11

sizeof q : 4

strlen q : 11

+ malloc函数和new操作符的区别

>

malloc/free 是标准库函数,new/delete是C++操作符

+ 初始化 计算大小 返回类型 内部对象初始化

+ new是malloc+初始化

+ 析构,自动管理内存

+ 注意事项

+ 对socket的阻塞、非阻塞、同步、异步问题的理解

>

阻塞IO和非阻塞IO的区别就在于:应用程序的调用是否立即返回!

+ socket服务端的建立过程 伪码

>

服务器端:

1.创建ServerSocket对象,绑定监听端口

2.通过accept()方法监听客户端请求

3.连接建立后,通过输出流读取客户端发送的请求信息

4.通过输出流向客户端发送响应信息

5.关闭相关资源

+ extern "C"

>

注意与extern关键字的使用,与static相对。

extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。

加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。

由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型

也加到编译后的代码中,而不仅仅是函数名;

而C语言并不支持函数重载,因此编译C语言代码的函数时不会带上函数的参数类型,

一般之包括函数名。

比如说你用C 开发了一个DLL 库,为了能够让C ++语言也能够调用你的DLL输出(Export)的函数,

你需要用extern "C"来强制编译器不要修改你的函数名。

+ 编写一个跨平台的文件拷贝函数

>

使用C类库中的fopen,fread,fwrite,fclose函数,即可实现跨平台。

+#ifdef,#define,#ifndef

>

防止头文件的重复包含和编译。

+线程,进程的区别和联系

>

进程:分配管理资源的基本单位,进程空间的大小,五种状态切换。

线程:CPU调度的基本单位。

是否具有独立空间,独立空间说明什么?切换开销

最新文章

  1. Linux服务器安全登录设置记录
  2. mysql / mysqld_safe / mysqld 常见错误处理
  3. 多个微信菜单都需要获取openId的时候如何处理回调页面的问题
  4. 面试官的七种武器:Java篇
  5. POJ 2513 Colored Sticks
  6. redis和memcached比较
  7. javascript变量和对象要注意的点
  8. mysql describe
  9. mig_ddr4_ultrascale
  10. C# 自定义线程修改UI(一)
  11. LindDotNetCore~Mock对实际应用中的意义
  12. 【iCore4 双核心板_ARM】例程三十六:DAC实验——输出直流电压
  13. 数组中只出现一次的数字(java实现)
  14. nginx 中配置多个location并解决js/css/jpg/等的加载问题
  15. Centos6.5建立本地YUM源
  16. MyBufferedReader
  17. Union和Union All的区别[转]
  18. playbook相关
  19. Ubuntu上交叉编译valgrind for Android 4.0.4的过程与注意事项
  20. review一个javascript功能函数

热门文章

  1. 题目1203:IP地址
  2. windows10和ubuntu16.04双系统下时间不对的问题 ZT
  3. 深入理解css系列:css定位
  4. mysql查询语句中用户变量的使用
  5. ABAP工作区,内表,标题行的定义和区别
  6. eclipse中一些设置&amp;配置项
  7. jQuery:cookie插件的使用
  8. JS手札
  9. stunnel-client
  10. PL-SQL(免安装版本)报错ORA-12154