2021-06-10

24 篇文章 0 订阅
12 篇文章 0 订阅

今天工作:
查看所有笔记
编写socket
找房子(德信东望、)

复习笔记:

  1. const与#define的区别?

  2. 引用与指针的区别?

    1. 指针是一个实体,而引用仅是个别名;
    2. 引用使用时无需解引用(*),指针需要解引用;
    3. 引用只能在定义时被初始化一次,之后不可变;指针可变;
    4. 引用不能为空,指针可以为空;
    5. 使用指针作为函数的参数虽然也能达到与使用引用的效果,但是,在被调函数中同样要给形参分配存储单元,且需要重复使用"*指针变量名"的 形式进行运算,这很容易产生错误且程序的阅读性较差;另一方面,在主调函数的调用点处,必须用变量的地址作为实参。
  3. 函数重载的原理是什么?通过什么方式可以取消名字改编?

  4. new与malloc的差别?

  5. 预习C++程序内存布局,类与对象

log4cpp学习:
Log4cpp有三个主要的组件:日志类别(Category)、输出源(Appender)和布局(Layout)。

Zmq

  1. TCP多进程并发服务器
    socket(…);
    bind(…);
    listen(…);
    while(1){
    accpet(…);
    if(fork(…) == 0){
    process(…);
    close(…);
    exit(…); } close(…);
    }

2.TCP多线程服务器
socket(…);
bind(…);
listen(…);
while(1){
accpet(…);
if((pthread_create(…))!==-1){
process(…);
close(…);
exit(…); } close(…);
}

我是十成的穷人

IO多路复用

select/poll/epoll对比

vim关键字补全
YouCompleteMe 自动补全插件安装

perror(s) 用来将上一个函数发生错误的原因输出到标准设备(stderr)。参数 s 所指的字符串会先打印出,后面再加上错误原因字符串。此错误原因依照全局变量errno的值来决定要输出的字符串。

int main(int argc, const char *argv[])
① 其中argc是指变量的个数,以例三为例:hello、a.out称为变量和./a.out程序运行的全路径名或程序的名字,argc即为3。
② argv是一个char *的数组,其中存放指向参数变量的指针,此处argv[0]指向./a.out的全路径名,argv[1]指向hello,argv[2]指向a.out

C语言中,要使用sizeof()不需要包含头文件,因为sizeof实际是C语言的一种单目运算符,也是关键字之一,可以直接使用。

使用read()时需要包含的头文件: <unistd.h>

在编写Linux下的网络程序时,使用了sockaddr_in结构,在头文件中声明了#include <sys/socket.h>,系统仍不承认sockaddr_in结构.因为代码中还少包含了一个头文件
#include <netinet/in.h>而 inet_addr 需要#include <arpa/inet.h>所以
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

C 库函数 char *fgets(char *str, int n, FILE *stream) 从指定的流 stream 读取一行,并把它存储在 str 所指向的字符串内。当读取 (n-1) 个字符时,或者读取到换行符时,或者到达文件末尾时,它会停止,具体视情况而定。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值