c_tianzi
码龄14年
关注
提问 私信
  • 博客:221,709
    社区:3,260
    224,969
    总访问量
  • 63
    原创
  • 1,494,438
    排名
  • 14
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2011-03-02
博客简介:

c_tianzi的专栏

查看详细资料
个人成就
  • 获得19次点赞
  • 内容获得7次评论
  • 获得70次收藏
创作历程
  • 1篇
    2021年
  • 1篇
    2019年
  • 1篇
    2018年
  • 7篇
    2016年
  • 11篇
    2015年
  • 16篇
    2014年
  • 41篇
    2013年
  • 7篇
    2012年
成就勋章
TA的专栏
  • 乱写
    2篇
  • WINsocket
    2篇
  • 阻塞
    1篇
  • c/c++
    20篇
  • 内核对象
    1篇
  • STL
    3篇
  • Qt
    21篇
  • ACE
    14篇
  • 心情
    2篇
  • MFC
    11篇
  • 其它
    4篇
  • 简单设计模式
    3篇
  • libevent
    2篇
  • 算法
    3篇
  • python
    4篇
兴趣领域 设置
  • 人工智能
    机器学习
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

353人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

随手记

好久不工作//数组指针{ //要声明指向数组类型的指针,必须使用括号 int(*arrPtr)[10] = NULL; //一个指针,它指向一个有10个int元素的数组 //如果没有括号,则声明 int*arrPtr[l0]; //表示 arrPtr 是一个具有 10 个 int 类型指针的数组。 int matrix[3][10] = { 0 }; arrPtr = matrix; // 使得arrPtr指向矩阵的第一行 (*arrPtr)[0] = 5; arrP
原创
发布博客 2021.04.02 ·
167 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

shell脚本

linux监控一个程序:#!/bin/bashwhile truedo procnum=$(ps -ef | grep GameTransferTF | grep -v grep | wc -l) echo "process tf num = ${procnum}" if [ $procnum -eq 0 ]; then ...
原创
发布博客 2019.08.13 ·
264 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

五子棋

微信小程序,微信小游戏, 五子棋1.极大极小值算法2.alpha-beta剪枝3.算杀都还没实现。。。。标题 
原创
发布博客 2018.12.23 ·
486 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

python-highlight

## c/c++ high-light by tianzimk 2016-3-20 def high_light(strpath): line_num = getline(strpath) fr = open(strpath, "r") fw = open(strpath + ".html","w") fw.write("") fw.write("") fw.write("")
原创
发布博客 2016.03.20 ·
1972 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

迭代器模式

UML类图上图:    Iterator:定义迭代器访问和遍历元素的接口;    ConcreteIterator:具体迭代器的实现;    Aggregate:定义的容器,创建相应迭代器对象的接口;    concreteAggregate:具体的容器实现创建相应迭代器的接口,该操作返回ConcreteIterator的一个适当的实例。使用场合    访问
原创
发布博客 2016.03.13 ·
924 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

python线程setDaemon

在python中,主线程结束后,会默认等待子线程结束后,主线程才退出,如下:#coding=utf-8import threadingimport timeclass mythread(threading.Thread): def __init__(self): super().__init__() def run(self): for i in range(5):
原创
发布博客 2016.03.05 ·
1520 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

python简单多线程

#coding=utf-8import threadingimport randomfrom time import sleepdef task1(): print(threading.current_thread().getName() + " start.") for i in range(5): print("i: " + str(i)) sleep(1) prin
原创
发布博客 2016.03.03 ·
939 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

高斯模糊算法

一维正态分布函数:对应的曲线如下:其实就是将某一像素点一定半径内的rgb值按照以上权重分布求出此点的rgb值。图片像素是二维矩阵,修改如下:对一个二维的像素矩阵可以分别在水平与垂直方向进行一维高斯模糊其效果等同与二维高斯模糊效果,速度更快。测试图片如下:代码如下:void CGSmooth::generateGauss
原创
发布博客 2016.01.24 ·
2263 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

二分查找

二分查找比较简单:templateint binary_search(T array[],int len, T value){ int left = 0, right = len -1; while(left <= right) { int index = (left + right)/2; if(value == array[index]) { return in
原创
发布博客 2016.01.21 ·
679 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

QThread定时器

如何在子线程中启动定时器:MyThread::MyThread(QObject *parent) : QThread(parent){ printf("[%d] construct
",this->currentThreadId());}MyThread::~MyThread(){ delete timer;}void MyThread::timedone(){ p
原创
发布博客 2016.01.07 ·
3038 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Python

今天开始学习脚本语言,写了一个简单的程序做测试^_^查询北上广深的天气:import urllib.requestimport jsondef get_city_id(_city): city = ["北京",'上海','广州','深圳'] id = ['101010100','101020100','101280101','101280601'] index = 0 for
原创
发布博客 2015.12.18 ·
847 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

memcached简单分析

多线程的memcached很简单,一个监听主线程,N个工作线程(event worker),实际上每一个线程都是一个单独的libevent实例,都有自己的event_base。 a.主线程负责监听、接收、CQ_ITEM的分发 b.工作线程负责已注册连接的读写事件处理。网上找了一个图如下,源地址不明:1.子线程初始化:bool MyService::thread_init
原创
发布博客 2015.11.26 ·
1062 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Libmad音乐播放器

发布资源 2015.09.27 ·
exe

LIBMAD解码播放器

简单的libmad封装类LibMP3:// LibmadMP3.h: interface for the LibmadMP3 class.////////////////////////////////////////////////////////////////////////#if !defined(AFX_LIBMADMP3_H__0363C03A_CE0B_45E2_BA2D
原创
发布博客 2015.08.07 ·
2086 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

MINIPlayer

发布资源 2015.08.06 ·
exe

echo server

1.The libevent API provides a mechanism[机制] to execute a callback function when a specific event occurs on a file descriptor or after a timeout has been reached. Furthermore, libevent also support cal
原创
发布博客 2015.08.06 ·
1413 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

清明过后小记

又一次来到了帝都bj,zf之行像是做了一个漫长梦一样,梦中有着快乐和忧伤,有些地方、有些人的记忆注定伴随终身。离职了,哈哈挺任性的(连面试官都问我为什么不骑驴找马),不管下一份工作怎么样,选择了就不后悔。今天跑了2家公司,一家汽车生产自动化的一家互联网型的,都不太理想,第一家我不想去,第二家要求太高我应该去不了。明天该去哪呢,我还不确定,你呢,我更不确定。献上一张照片拍摄于
转载
发布博客 2015.04.07 ·
801 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

virtual析构函数

今天面试回答的不好,最终还是因为C++基础不好,而且没有做好准备。虚析构函数其实比较简单,C++多态的一个特性,看如下简单示例:class base{public: base() { cout<<"base constructor..."<<endl; } virtual ~base() { cout<<"base discontructor..."<<endl; } virtu
原创
发布博客 2015.04.07 ·
967 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

strstr实现

自己实现的很不好:char* str_str(const char* s1,const char* s2){ assert(s1 != NULL && s2 != NULL); while(*s1++ != '\0') { if(strncmp(s1,s2,strlen(s2))==0) { return (char*)s1; } } return NULL;
原创
发布博客 2015.04.06 ·
778 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

QuickSort

基本思路:    1.将待排序数据存入一维数组中,然后以第一个值为基准值。起初i指向第一个元素,j指向最后一个元素之后的位置。      2.分别从两端遍历数组,直到i所指向的值比基准值大,以及j所指向的值比基准值小时,分别停止遍历,然后交换i,j所指向的值。    3.重复步骤2,直到i >= j,然后交换p和j所指向的值,此时序列别分隔成两部分,基准值右边的值都比基准值
转载
发布博客 2015.04.05 ·
795 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多