nbaDWde的博客

爱琢磨琢磨小算法

Linux线程(一)创建与退出

多线程目的是在单进程环境下执行多个任务。一个进程中的所有线程都可以访问该进程的组成部件,如文件描述符和内存。 单个资源在多个用户间共享,就必须处理一致性问题。 同一进程中的多条线程将共享该进程中的全部系统资源,如虚拟地址空间,文件描述符和信号处理等等。 但同一进程中的多个线程有各自的调用栈(...

2018-10-09 17:48:04

阅读数 59

评论数 0

Linux中环境变量存放文件

Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量。所以管理环境变量的文件也分为系统级和用户级的,下面贴一个网上找到的讲的比较明白的文件介绍(略作修改)[1]:1.系统级:(1)/etc/profi...

2018-07-03 09:16:07

阅读数 472

评论数 0

C/C++ I/O详解

一、C语言I/OC语言的I/O相关函数都是封装在头文件<stdio.h>中,该头文件中定义了一些变量、宏以及各种函数来执行输入输出。具体有关C标准库<stdio.h>参见:http://www.runoob.c...

2018-06-28 14:04:03

阅读数 357

评论数 0

python之GIL与多线程

1、问题的思考——python程序能通过多线程利用CPU的多核吗?先看一段程序下面这段 python 代码,CPU 占用率是多少?# 请勿在工作中模仿,危险:) def dead_loop(): while True: pass dead_loop()答案是什么呢,占用 ...

2018-06-16 16:59:11

阅读数 167

评论数 0

C语言中的restrict限定符

今天在写opencl的kernel端代码时用到了restrict关键字,做个记录。restrict限定符的作用C语言中的一种类型限定符,用于告诉编译器,对象已经被指针所引用,不能通过除去该指针以外的所有其他直接或间接的方式修改该对象的内容restrict限定符的用法restrict关键字允许编译器...

2018-06-15 12:42:38

阅读数 289

评论数 0

vim之实现函数/变量跳转功能

使用vim的时候, 会发现函数跳转的功能没有,怎么办?vim提供了强有力的函数跳转的插件功能!首先要安装ctags, 在ubuntu下直接输入sudo apt-get install exuberant-ctags接着,在源文件目录树(这里是在/home/ballack/test/目录下)执行如下...

2018-06-13 12:23:28

阅读数 951

评论数 0

C++模板元编程

        所谓的元编程就是编写直接生成或操纵程序的程序,C++模板为C++语言提供了元编程的能力。模板使 C++ 编程变得异常灵活,能实现很多高级动态语言才有的特性(语法上可能比较丑陋,一些历史原因见下文)。普通用户对 C++ 模板的使用可能不是很频繁,大致限于泛型编程,但一些系统级的代码,...

2018-06-13 09:42:22

阅读数 1175

评论数 0

Github有两种上传方式的对比——SSH/https

1、两种方式的对比Github有两种上传代码的方式httpsSSH大家也可以看一下这两种方式的URL是不同的。SSH方式(git@github.com:xxx/test.git)https方式 (https://github.com/xxx/test.git)https方式提交代码的几种方式:首先...

2018-05-18 10:34:21

阅读数 1631

评论数 0

python字符串

1、字符串编码字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制2...

2018-05-16 12:53:00

阅读数 61

评论数 0

C语言变长数组

【前言】    C语言中是不能定义变长数组的(当然,有一些特殊方法可以解决,这里先不提),代码中若遇到类似这样的结构:char data[0],这种用法在linux内核代码中有很多,这是为了让数组长度可变的,根据需要进行分配,方便操作,节省内存空间。        【data[0]结构】    例...

2018-03-28 09:23:12

阅读数 2670

评论数 1

Objective-C属性property详解

1、简介: property是Objective-C的关键词,与@synthesize配对使用,用来让编译好器自动生成与数据成员同名的方法声明。@synthesize则是用来生成对应声明方法的实现。1.1 property的语法格式:@property (参数1,参数2)类型名字;这里的参数,主要...

2018-03-14 11:33:28

阅读数 182

评论数 1

IO模型及select、poll、epoll和kqueue的区别

(一)首先,介绍几种常见的I/O模型及其区别,如下:blocking I/Ononblocking I/OI/O multiplexing (select and poll)signal driven I/O (SIGIO)asynchronous I/O (the POSIX aio_funct...

2018-02-09 15:28:43

阅读数 201

评论数 0

如何利用android studio在手机上安装apk包

将手机连接到电脑上后,在android studio下面的run面板上依次执行如下命令: 1. $ adb push 电脑上apk包的绝对路径 /data/local/tmp/ // 复制apk到/data/local/tmp目录下. 2. $ adb shell pm install -r...

2018-02-01 12:55:41

阅读数 6167

评论数 1

STL之vector容器元素删除

删除vector容器的对象元素有三种方法:pop_back,erase,remove算法。 向量容器的成员函数pop_back()可以删除最后一个元素; 函数erase()可以删除由一个iterator指出的元素,也可以删除一个指定范围内的元素; 通用算法remove()也可以用来删除vec...

2018-01-30 10:06:23

阅读数 281

评论数 0

TCP协议的RST包

前言:TCP中有几个比较重要的标志位, SYN ACK FIN RST PSH URG。 比如:  (B) --> [SYN] -->(A)  (B)<-- [SYN/ACK] A)  (B)--> [ACK] --> (A)  以上是三次...

2018-01-22 14:22:35

阅读数 766

评论数 0

TCP连接的终止

前言:前面讲到过TCP连接的建立,这里继续记录TCP连接的终止过程。 1、TCP连接的终止过程 如上图是TCP连接的终止过程。下面来深入了解TCP连接的释放: 由于TCP是连接是全双工的,所以每个方向上都必须进行单独关闭,这原则是当一方完成数据发送任务后就能发送一个FIN来终止这个方...

2018-01-18 17:03:45

阅读数 315

评论数 0

4、丑数 II

问题描述:设计一个算法,找出只含素因子2,3,5 的第 n 小的数。符合条件的数如:1, 2, 3, 4, 5, 6, 8, 9, 10, 12...样例如果n = 9, 返回 10这一题思路很具有技巧性。其实说白了就是一个多链表Merge Sort的变形,看如下过程:Ugly Number: ...

2018-01-18 10:54:46

阅读数 129

评论数 0

TCP连接的建立

前言:TCP的问题已然困惑我很久了,一直是一知半解,靠记忆来记住TCP连接的过程,不能根本上理解,漏洞百出,最近抽时间把TCP经典书籍——《 TCP-IP详解》阅读了一下。废话不多说,这篇博客的目的是希望能帮助刚入门的老铁们以及和我一样一直只是知道大概的老铁们~ 1、TCP连接的建立过程 先来放两...

2018-01-16 15:37:18

阅读数 3102

评论数 1

3、统计数字

问题描述: 计算数字k在0到n中的出现的次数,k可能是0~9的一个值 样例 例如n=12,k=1,在 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],我们发现1出现了5次 (1, 10, 11, 12) 显然用暴力搜索能可以解决的,一个...

2018-01-16 13:24:56

阅读数 169

评论数 0

2、尾部的零

问题描述: 设计一个算法,计算出n阶乘中尾部零的个数 样例 11! = 39916800,因此应该返回 2. 这个问题相信很多老铁都已经遇到过了,很经典的一个题目,还是那句老话,重要的是考虑的过程,是如何想到以5的个数来统计0的个数呢?又是如何想到除以25、除以125... ...的呢?这...

2018-01-14 15:30:38

阅读数 97

评论数 0

提示
确定要删除当前文章?
取消 删除