c/c++
tzh_linux
这个作者很懒,什么都没留下…
展开
-
单链表实现队列 栈
#include <stdio.h>#include <stdlib.h>struct list{ int data; struct list *next;};typedef struct list L;L *stackInsert (L *head, int data){ L *new = calloc(1, sizeof(L)); new->data =原创 2017-06-13 10:40:30 · 332 阅读 · 0 评论 -
c/c++管道、消息队列
1.匿名管道和有名管道 匿名管道 匿名管道是一种进程之间进行单向通信的方式,由于其通信只是单方向的,所以起有以下缺点: 1.通信只是单方向的,通信太局限 2.其缓冲区大小是一定的,缓冲区满了之后就无法继续再写入数据。 3.通过管道传输的只能是无格式的字节流。 4.只能用于具有亲缘关系的进程之间,如父子进程,兄弟进程。 有名管道 顾名思义,有名管道就是拥有名字的管道,当然,他与匿名管道原创 2017-03-29 17:26:18 · 2024 阅读 · 0 评论 -
c/c++和python的三目运算符
c/c++: x=判断条件?为真的结果:不为真的结果; 如: max = a > b?a:b;python: x=为真的结果 if 判断条件 else 不为真的结果 max = a if a > b else b原创 2017-04-11 16:21:44 · 225 阅读 · 0 评论 -
gcc 编译隐藏符号
strip libtest.so --strip-unneeded --keep-symbol=libtest-l 指定链接库名 -L 指定编译时链接库路径 -Wl,-rpath指定程序执行时加载库路径 -I 指定编译时头文件路径原创 2017-03-23 19:35:14 · 4485 阅读 · 0 评论 -
c和python的文件读写
最近在c和python之间来回使用文件读写,有时候会发生混淆,在这做个总结,小记一下。 c文件读写的基础函数:对文件描述符操作int open(const char *pathname, int flags, mode_t mode);ssize_t read(int fd, void *buf, size_t count);ssize_t write(int fd, const void原创 2017-03-29 13:29:40 · 759 阅读 · 0 评论 -
C++函数重载
函数重载:函数名相同 参数不同 函数重载的判断标准: 参数个数,参数类型,参数顺序函数返回值不是函数重载的判断标准函数重载和默认参数int func(int a , int b ,int c =1){ return 0;}int func(int a, int b){ return 0;}int main(){ int a = 2, b = 2; fu原创 2016-07-14 01:20:57 · 270 阅读 · 0 评论 -
C++默认参数
void fun(int a = 1) { cout>>”a=”>>a>>endl; }int main() { int a = 5; fun(); fun(a); return 0; }结果是这样的 a=1 a=5注意: 默认参数只能在函数的声明或者定义 一处指定,不能同时指定。 严格按照从左到右的顺序 默认参数只能放到最右边原创 2016-07-14 01:03:34 · 222 阅读 · 0 评论 -
c++内联函数
语法:inline int fun(int ,int ){ /* code.. */ return 0;}原理:代码替换 注意事项: 循环体内不宜用内联函数,因为内联函数仅为单纯的代码替换,循环调用的话可能会导致编译后代码过长 inline关键字必须与函数定义一块使用。原创 2016-07-14 00:52:03 · 161 阅读 · 0 评论 -
const和#define
const有时候可以代替#define使用,在使用的时候并没有特别大的区别 不同的是const是由编译器处理的,处在变量类型和作用域的检查 #define是由预处理器处理的,只是简单的文本替换#include <stdio.h>#include <stdlib.h>void func1(){ #define aa 1 const int bb = 2;}void func原创 2016-06-01 10:51:12 · 221 阅读 · 0 评论 -
多线程加锁原因
多线程编程加锁主要为了防止多个线程在同一时间访问同一资源导致的数据错误。 这句话有些笼统,通过书上介绍的例子,我觉得应该说是为了防止多个线程在同一时间访问同一资源导致访问的不是期望的数据。 比如: 线程a访问x变量......x++;printf("%d\n",x);......线程b访问x变量......x++;printf("%d\n",x);......由于x++不是原子操作原创 2016-04-22 15:11:11 · 1362 阅读 · 0 评论 -
C 程序.data .text .bbs 概述
小记:翻译 2016-03-10 03:10:24 · 1169 阅读 · 0 评论 -
在linux下用gsoap实现c语言的webservice实例
一、定义函数接口,写.h文件/***********************calc.h*****************************///gsoap ns service name: calc Simple calculator service//gsoap ns service style: rpc//gsoap ns service encoding:原创 2015-11-25 01:53:39 · 2121 阅读 · 0 评论 -
字符串操作
1.字符串判断是否为空 两种方法: strcmp(str, “0”);返回0 为空 str[0] == ‘\0’ 相等则为空。 第一种方法调用函数,始终还是有消耗的,建议使用第一种。 2.字符数组赋值 两种方法: 1)定义时赋值 char a[10] = “hello”; char a[10] = {‘h’,’e’,’l’,’l’,’o’}; 2)用strcpy char s原创 2015-11-13 00:33:51 · 266 阅读 · 0 评论 -
c语言编译常见报错
1 C语言编译环境中常见错误提示 编译中的常见错误例析 (1) 警告类错误 ‘XXX’declare but never used 变量XXX已定义但从未用过。 ‘XXX’is assigned a value which is never used 变量XXX已赋值但从未用过。 Code has no effect 程序中含有没有实际作用的翻译 2016-01-10 00:01:05 · 4010 阅读 · 1 评论