- 博客(22)
- 资源 (1)
- 收藏
- 关注
原创 auto 类型
2.auto 可以同时声明多个变量,但类型必须相同。1.atuo 定义必须要初始化。4.模板实例化不能使用auto。5.类成员变量不能使用auto。3.数组不能直接使用auto。
2022-12-16 18:51:23 117 2
原创 修改system系统权限
修改系统权限一种是需要在Android系统源码的环境下用make来编译: 1. 在AndroidManifest.xml 的manifest节点中加入android:sharedUserId="android.uid.system" 2. Android.mk文件,加入LOCAL_CERTIFICATE := platform
2016-04-12 15:54:13 2009
转载 Android 源码镜像
https://lug.ustc.edu.cn/wiki/mirrors/help/aospAndroid 镜像使用帮助按照 Google 官方教程 https://source.android.com/source/downloading.html将 https://android.googlesource.com/platform/manifest 替换为 git://
2015-10-09 15:21:16 613
转载 extern详解
1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。 也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的
2013-03-13 10:40:19 1334 2
转载 fork 进程复制
#include #include #include int main (void){ int *p = malloc(sizeof(int)); *p = 10; printf("start main()\n"); int pid = fork(); if (pid == 0) { printf("i am child, m
2013-03-07 10:19:24 476
原创 c++0x thread
#include #include void f(){std::cout } int main() { std::thread t1{f}; // f() 在一个单独的线程中执行 t1.join(); }}编译解决错误terminate called after throwing
2011-12-21 14:50:27 1122
原创 ACE_Acceptor::ACE_Acceptor: WSA Startup not initialized
<br />原因是编译ace dll时的字符集和使用程序的字符集选择不一致
2010-12-23 10:44:00 744
原创 最大
<br /><br />HWND hMenuWnd = SHFindMenuBar(m_hWnd);<br /> if (hMenuWnd != NULL)<br /> {<br /> ::CommandBar_Show(hMenuWnd, FALSE); <br /> }<br /> MoveWindow(0,0, m_ixScreenWidth,m_iyScreenHeight);<br /><br /> if (nState == WA_ACTIVE || nS
2010-11-19 17:40:00 367
原创 qt 路径设置
<br /><br /><br />在/etc/profile文件的末尾加上以下语句 :<br /><br />QTDIR=path<br />PATH=$QTDIR/qt/bin:$PATH<br />PATH=$QTDIR/bin:$PATH<br />MANPATH=$QTDIR/man:$MANPATH<br />LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH<br />export QTDIR PATH MANPATH LD_LIBRAR
2010-11-13 17:34:00 1748
转载 VC++ Studio使用技巧
<br />Ctrl+O :Open <br />Ctrl+P :Print <br />Ctrl+N :New <br />Ctrl+Shift+F2 :清除所有书签 <br />F2 :上一个书签 <br />Shift+F2 :上一个书签 <br />Alt+F2 :编辑书签 <br />Ctrl+F2 :添加/删除一个书签 <br />F12 :Goto definition <br />Shif
2010-11-03 14:19:00 479
原创 StrCmp
int StrCmp(const char * pDes,const char * pSrc){ int iRet; if(pDes == NULL || pSrc == NULL) throw "NULL point"; while('/0' != (*pDes) && '/0' != (*pSrc)) { if(0 != (iRet = (*(pDes++) - *(pSrc++)))) { return iRet
2010-10-25 15:33:00 372
转载 函数指针数组的妙用
<br />原文地址:http://blog.sina.com.cn/u/1082089673函数指针数组的妙用<br /> 笔者在开发某软件过程中遇到这样一个问题,前级模块传给我二进制数据,输入参数为 char* buffer和 int length,buffer是数据的首地址,length表示这批数据的长度。数据的特点是:长度不定,类型不定,由第一个字节(buffer[0])标识该数据的类型,共有256(28 )种可能性。我的任务是必须对每一种可能出现的数据类型都要作处理,并且我的模块
2010-10-25 14:26:00 263
转载 typedef 的用法
<br /><br />typedef 的用法<br /> <br />*****以下是参考部分*****<br /> <br />此部分参考自:http://blog.sina.com.cn/u/572f7666010008dm<br /> <br />用途一:<br /> <br />定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:<br /> <br />char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针,<br /> <br
2010-10-25 14:05:00 298
转载 函数指针作为参数传递给函数
<br /><br /> 函数指针同样是可以作为参数传递给函数的,<br />#include <iostream> <br />#include <string> <br />using namespace std; <br /> <br />int test(int); <br /> <br />int test2(int (*ra)(int),int); <br /> <br />void main(int argc,char* argv[]) <br />{
2010-10-25 11:16:00 3058
原创 用swap清除vector,deque内存
在《effective STL》和其实很多C++文章中都有指明,用clear()无法保证内存回收。但是swap技法可以。具体方法如下所示:微软的deque也一样 vector nums; nums.push_back(1);nums.push_back(1);nums.push_back(2);nums.push_back(2); vector().swap(nums); //或者nums.swap(vector()); vector().swap(nums); 或者如下所示 加
2010-10-18 17:02:00 817
转载 重载了>等符号:
<br /><br /> 重载了<, +, +=, =, ==, <<, >>等符号:<br /> <br />#include<iostream><br />#include<vector><br />using namespace std;<br /> <br />class test{<br />public:<br /> int v;<br /> /*构造函数*/<br /> test():v(0){}<br /> test(const int &a):v(a){}<br
2010-10-18 16:08:00 547
原创 CCtrlList
<br />重载DrawItem()实现自绘<br /><br />void CListCtrlEx::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)<br />{<br /> <br /> // TODO: 添加您的代码以绘制指定项<br />#if 1<br /> <br /> TCHAR lpBuffer[256];<br /> <br /> LV_ITEM lvi;<br /> <br /> lvi.mask = LVIF_TEXT
2010-10-09 11:30:00 982
原创 禁止listctrl拖动
<br /><br />方法是重载ListCtrl的虚函数OnNotify,在这个函数中判断某个列的索引iSubItem,如果是要失效的HeaderCtrl则设置*iResult= TRUE表示消息不再往下处理,同时return,代码如下:<br /> <br />BOOLStyleList::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) <br />{<br /> // TODO: Add your specialized
2010-09-30 17:28:00 1703
转载 七个让人顿悟的人生哲理寓言
一、成长的寓言:做一棵永远成长的苹果树 一棵苹果树,终于结果了。 第一年,它结了10个苹果,9个被拿走,自己得到1个。对此,苹果树愤愤不平,于是自断经脉,拒绝成长。第二年,它结了5个苹果,4个被拿走,自己得到1个。“哈哈,去年我得到了10%,今年得到20%!翻了一番。”这棵苹果树心理平衡了。 但是,它还可以这样:继续成长。譬如,第二年,它结了100个果子,被拿走9
2010-02-01 02:21:00 429
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人