按类别查询搜索结果
关于关键词 的检测结果,共 27926
philarlala | 2018-01-05 15:01:20 | 阅读(2160) | 评论(0)
1.关于组播的问题描述:加入组播组使用struct ip_mreqn,通过ip和网卡index 加入,离开组播组的时候使用struct ip_mreq ,只通过ip 离开,当网卡ip先清除,再离开组播组的话,无法通过ip找到对应的网卡,离开失败。查看内核ip_mc_find_dev 发现,查找网卡的顺序是先index,然后ip,最后目的ip路由对应的出接口,因此用网...【阅读全文】
andersonyan | 2017-12-29 23:42:30 | 阅读(37860) | 评论(0)
一、互斥锁的应用互斥量从本质上说就是一把锁, 提供对共享资源的保护访问。1. 初始化:在Linux下, 线程的互斥量数据类型是pthread_mutex_t. 在使用前, 要对它进行初始化:  对于静态分配的互斥量, 可以把它设置为PTHREAD_MUTEX_INITIALIZER.  对于动态分配的互斥量, 在申请内存(malloc)之后, 通过pthrea...【阅读全文】
51learn | 2017-12-29 14:24:09 | 阅读(540) | 评论(0)
#include<iostream>#include "stdlib.h"using namespace std;int main() { int k; printf("乘法口诀:C/C++版本 by jacklin@shouyiren.net \r\n"); printf("-------------------------------------------------------------------------------------\r\n"); for (int  i = 1; i <= 9; i++) { for (int j=1;...【阅读全文】
andersonyan | 2017-12-29 11:33:21 | 阅读(1630) | 评论(0)
一、在多实例间实现全局的线程安全锁1.1 实例场景:1. 类的声明与定义//channel.hclass CChannel{  friend void* audio_write_process(void* params);  friend void* video_write_process(void* params);public:  CChannel();  ~CChannel();public:  int handle_audio_thread();&...【阅读全文】
iARM | 2017-12-25 15:15:37 | 阅读(1740) | 评论(0)
二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型:比如:字符,数字,日文,中文等等。这两天学习了一下二维码图片生成的相关细节,觉得这个玩意就 是一个密码算法,在此写一这篇文章 ,揭露一下。供好学的人...【阅读全文】
osmanthusgfy | 2017-12-25 13:53:23 | 阅读(2180) | 评论(0)
如题,参考MS的文档:https://blogs.msdn.microsoft.com/chuckw/2012/11/30/direct3d-sdk-debug-layer-tricks/https://blogs.msdn.microsoft.com/vcblog/2015/03/31/visual-studio-2015-and-graphics-tools-for-windows-10/安装Graphics Tools就行了,具体安装步骤如文档所说:To install the Graphics To...【阅读全文】
yangkai1089 | 2017-12-25 11:45:15 | 阅读(350) | 评论(0)
1. Telnet1.1      Telnet的定义Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在...【阅读全文】
lelv123 | 2017-12-24 23:38:59 | 阅读(3260) | 评论(0)
309976659 | 2017-12-23 13:51:09 | 阅读(830) | 评论(0)
STM32的芯片种类繁多,而有时候应项目需要,往往需要尝试好几款芯片,那么当拿到一款没用过的芯片之后如何快速上手呢?我的方法是,登录ST中国官网(http://www.stmcu.com.cn),下载该芯片的相关资料(Cube包,芯片datasheet,芯片UserManual),借助Cube包内的例程,即可快速熟悉该单片机的外设配置。...【阅读全文】
skllidq | 2017-12-12 12:21:53 | 阅读(1680) | 评论(0)
key_person | 2017-12-08 18:45:51 | 阅读(2400) | 评论(0)
探讨使用信号量和条件变量实现的多线程循环队列的性能差异【阅读全文】
key_person | 2017-11-30 19:06:52 | 阅读(11000) | 评论(0)
VS中是可以方便的查看容器中的变量的,GDB如何打印STL中容器的变量呢?GDB官方提供了一个符号文件,如果是简单的打印变量信息,可以下载到项目中加载进来使用。符号文件地址:https://sourceware.org/gdb/wiki/STLSupport 下载gdb-stl-views使用GDB调试代码时,使用source命令加载该符号文件(如:source ~/stl...【阅读全文】
key_person | 2017-11-22 20:57:48 | 阅读(3090) | 评论(0)
探讨锁定非临界区带来多少性能消耗【阅读全文】
【C/C++】 基于LinuxC++
ittrump | 2017-11-20 22:24:33 | 阅读(540) | 评论(0)
清华大学视频课件:基于Linux的C++下载地址【阅读全文】
【C/C++】 递归问题
key_person | 2017-11-14 19:29:49 | 阅读(1320) | 评论(0)
不使用递归的理由【阅读全文】
一天睡三次 | 2017-11-10 15:23:13 | 阅读(1550) | 评论(0)
char *s = "jiangxiangjie\0 123";printf("%s\n",s);我们打印出来的是\0前面的字符串,而不是全部。因为\0一般情况下是一个字符串的结束字符,printf认为到\0结束,就不会再去寻找下一个地址上的字符了。如果我们想打印从文件中读取的信息,那么我们可以转换成ascii码。int i = 0;char buf[buf_len];for(;i<string_...【阅读全文】
密林三木 | 2017-11-06 14:23:52 | 阅读(1150) | 评论(0)
Linux 2.6系统调用注册及调用流程:init/main.c --->start_kernel()--->arch/x86/kernel/traps.c.trap_init()在此文件中,执行如下函数进行system_call与int 0x80绑定:# define SYSCALL_VECTOR0x80set_system_trap_gate(SYSCALL_VECTOR, &system_call);arch/x86/kernel/entry_64.S.system_call():cmpq $...【阅读全文】
密林三木 | 2017-11-06 14:22:05 | 阅读(1480) | 评论(0)
Linux 内核态系统调用函数定义file:include/linux/syscalls.hSYSCALL_DEFINE0#define SYSCALL_DEFINE0(name) asmlinkage long sys_##name(void)asmlinkage 通过堆栈而不是寄存器进行参数传递。#define asmlinkage CPP_ASMLINKAGE __attribute__((syscall_linkage))示例函数:SYSCALL_DEFINE2(gethostname, ...【阅读全文】
密林三木 | 2017-11-06 14:17:11 | 阅读(1170) | 评论(0)
linux int 0x80系统调用系统调用汇编实现:点击(此处)折叠或打开.section .datamsg:        .ascii "hello world!\n".section .text...【阅读全文】