小技巧、小经验(5)


1、VC控制EXCEL的基本操作之选择范围篇

http://blog.youkuaiyun.com/shuilan0066/article/details/7936376


2、VC控制EXCEL的基本操作之设置篇
http://blog.youkuaiyun.com/shuilan0066/article/details/7936383


3、C++操作Excel学习笔记

http://www.cnblogs.com/For-her/p/3499770.html


4、Nginx 源码分析-- 模块module 解析执行 nginx.conf 配置文件流程分析 一

http://www.cnblogs.com/jzhlin/archive/2012/06/18/nginx_conf_1.html


5、nginx.conf配置文件详解

http://blog.youkuaiyun.com/u010098331/article/details/50885086


6、Nginx 性能调优

http://blog.youkuaiyun.com/agangdi/article/details/40838499

7、nginx 高并发配置参数

http://blog.youkuaiyun.com/oonets334/article/details/7528558


8、nginx平台初探

http://tengine.taobao.org/book/index.html


9、Nginx中http请求的处理过程

http://blog.youkuaiyun.com/eric_za/article/details/42149307


10、printf函数做同步互斥处理

printf内部也使用了va_start(),vfprintf()和va_end(),但不需要作同步互斥处理。这个同步互斥处理操作由使用库函数的人去考虑,而不用printf的编写者来考虑。

printf作为库函数,它的功能是将数据输出到控制台窗口(不考虑重定向问题),因此在printf内部不需要考虑多线程这一情况。而使用printf的程序员要根据程序运行的实际环境来决定是否需要加同步互斥处理。
如一个单线程的程序就不用考虑对printf进行同步互斥处理,在本例中,读者写者会对同一个控制台窗口进行输出,所以就需要作互斥处理。

//读者线程输出函数  
void ReaderPrintf(char *pszFormat, ...)  
{  
    va_list   pArgList;  
    va_start(pArgList, pszFormat);  
    EnterCriticalSection(&g_cs);  
    vfprintf(stdout, pszFormat, pArgList);  
    LeaveCriticalSection(&g_cs);  
    va_end(pArgList);  
} 
http://blog.youkuaiyun.com/morewindows/article/details/7596034

11、gflags调试访问越界

http://blog.youkuaiyun.com/mergerly/article/details/8308724


12、基于WinDbg的内存泄漏分析

http://www.cppblog.com/weiym/archive/2013/02/27/198109.html


13、IOCP服务端和客户端

http://blog.youkuaiyun.com/neicole/article/details/7549497/


14、Linux命令学习和积累

文件搜索命令(搜索指定目录下,名字包含update的所有文件,支持递归搜索):

find /home -name "*update*"

 linux 查找目录或文件
http://blog.youkuaiyun.com/windone0109/article/details/2817792


15、shell脚本学习和积累

shell脚本----if(数字条件,字符串条件,字符串为空)

标准输入(standard input)的文件描述符是 0
标准输出(standard output)是 1
标准错误(standard error)是 2

http://blog.youkuaiyun.com/yf210yf/article/details/9207147


16、YUV422与YUV420

YUV 采样

YUV 的优点之一是,
色度频道的采样率可比 Y 频道低,同时不会明显降低视觉质量
有一种表示法可用来描述 U 和 V 与 Y 的采样频率比例,这个表示法称为 A:B:C 表示法:

?

4:4:4 表示色度频道没有下采样。

?

4:2:2 表示 2:1 的水平下采样,没有垂直下采样。对于每两个 U 样例或 V 样例,每个扫描行都包含四个 Y 样例。

?

4:2:0 表示 2:1 的水平下采样,2:1 的垂直下采样。

?

4:1:1 表示 4:1 的水平下采样,没有垂直下采样。对于每个 U 样例或 V 样例,每个扫描行都包含四个 Y 样例。与其他格式相比,4:1:1 采样不太常用,本文不对其进行详细讨论。

图 1 显示了 4:4:4 图片中使用的采样网格。灯光样例用叉来表示,色度样例则用圈表示。


图 1. YUV 4:4:4 样例位置

4:2:2 采样的这种主要形式在 ITU-R Recommendation BT.601 中进行了定义。
图 2 显示了此标准定义的采样网格。


图 2. YUV 4:2:2 样例位置

4:2:0 采样有两种常见的变化形式。其中一种形式用于 MPEG-2 视频,
另一种形式用于 MPEG-1 以及 ITU-T recommendations H.261 和 H.263。
图 3 显示了 MPEG-1 方案中使用的采样网格,
图 4 显示了 MPEG-2 方案中使用的采样网格。


图 3. YUV 4:2:0 样例位置(MPEG-1 方案)


图 4. YUV 4:2:0 样例位置(MPEG-2 方案)

与 MPEG-1 方案相比,在 MPEG-2 方案与为 4:2:2 和 4:4:4 格式定义的采样网格之间进行转换更简单一些。
因此,在 Windows 中首选 MPEG-2 方案,应该考虑将其作为 4:2:0 格式的默认转换方案。


17、Linux学习--gdb调试

http://www.cnblogs.com/hankers/archive/2012/12/07/2806836.html


18、从文件末尾向头部逐行读取txt文件

#include <stdio.h>
FILE *f;
int c;
long offset;
char ln[100];
void main() {
    f=fopen("a.txt","rb");//必须用b方式打开,否则文件当前读位置会受\x0d \x0a \x1a等字符的干扰
    fseek(f,-1,SEEK_END);//倒数最后一个字节之前
    while (1) {
        c=fgetc(f);
        if ('\n'==c) {
            offset=ftell(f);//记住当前位置,即刚读字符后面
            fgets(ln,100,f);
            printf("%s",ln);
            fseek(f,offset-2,SEEK_SET);//回到刚才读位置之前一个位置,即c所在位置之前一个位置
        } else
            if (fseek(f,-2,SEEK_CUR)) {//回到刚才读位置之前一个位置,即c所在位置之前一个位置失败,说明已读到文件开头
                fseek(f,0,SEEK_SET);
                fgets(ln,100,f);//读文件第一行内容
                printf("%s",ln);
                break;
            }
    }
    fclose(f);
}

 19、视频会议及流媒体十大开源项目

http://blog.youkuaiyun.com/fishmai/article/details/53563583

a、视频会议,服务器和客户端(或者浏览器)是少不了,下面这个连接是别人总结的视频会议的十大开源项目,可以详细了解一下
http://blog.youkuaiyun.com/fishmai/article/details/53563583
b、有钱的公司,硬件组件视频会议,直接买MCU部署,找华为、思科、宝利通;想靠软件方式实现,说实话,点太多了,你即时有技术思路也实现不好这么多点。
c、我给自己公司做的内部视频会议有两种模式。一种是直播,就是一个人讲话,其他人只接收视音频信号,采用ffmpeg进行本地视音频采集、编码和推流,nginx-rtmp模块做流媒体服务器,因为是标准rtmp协议,所以在浏览器里面使用flash player或者开源的RTMP播放器就可以播放(比如VLC之类的),也可以自己写代码,用ffmepg收流,sdl播放展现,这种方式会有3-6秒的信号延时(TCP/IP),不适合交互,但是接收端可以有很多,我们公司几百人都可以同时接收;还有一种方式是webrtc,这个主要是点对点的视音频交互,几乎可以做到即时交互,但是同时在线人数不能多,多了就跑不动(3-4人比较合适)

http://bbs.youkuaiyun.com/topics/392273603


20、

临界区(Critical section)与互斥体(Mutex)的区别
①、临界区只能用于对象在同一进程里线程间的互斥访问;互斥体可以用于对象进程间或线程间的互斥访问。
②、临界区是非内核对象,只在用户态进行锁操作,速度快;互斥体是内核对象,在核心态进行锁操作,速度慢。
③、临界区和互斥体在Windows平台都下可用;Linux下只有互斥体可用。


21、C++中子类调用不同父类中的同名函数:需要用作用域运算符显式指出所要调用的父类的函数。

#include <iostream.h>  
class B1{  
public:  
    void output();  
};  
class B2{  
public:  
    void output();  
};  
void B1::output(){  
    cout<<"call the class B1"<<endl;  
}  
void B2::output(){  
    cout<<"call the class B2"<<endl;  
}  
class A:public B1,public B2{  
public:  
    void show();  
};  
void A::show(){  
    cout<<"call the class A"<<endl;  
}  
int main(){  
    A a;  
    a.B1::output();  
    a.show();  
    return 0;  
}  


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值