• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            積木

            No sub title

              C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
              140 Posts :: 1 Stories :: 11 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(1)

            我參與的團隊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            2015年3月18日 #

            原文轉載自:http://www.uml.org.cn/c++/200902104.asp 一篇講解宏預編譯的內容。
            posted @ 2015-03-18 09:56 Jacc.Kim 閱讀(350) | 評論 (0)編輯 收藏

            2015年1月20日 #

            轉自:http://c.biancheng.net/cpp/html/326.html

            相關函數:fstat, lstat, chmod, chown, readlink, utime

            頭文件:#include <sys/stat.h>   #include <unistd.h>

            定義函數:int stat(const char * file_name, struct stat *buf);

            函數說明:stat()用來將參數file_name 所指的文件狀態, 復制到參數buf 所指的結構中。

            下面是struct stat 內各參數的說明:
            struct stat
            {
                dev_t st_dev; //device 文件的設備編號
                ino_t st_ino; //inode 文件的i-node
                mode_t st_mode; //protection 文件的類型和存取的權限
                nlink_t st_nlink; //number of hard links 連到該文件的硬連接數目, 剛建立的文件值為1.
                uid_t st_uid; //user ID of owner 文件所有者的用戶識別碼
                gid_t st_gid; //group ID of owner 文件所有者的組識別碼
                dev_t st_rdev; //device type 若此文件為裝置設備文件, 則為其設備編號
                off_t st_size; //total size, in bytes 文件大小, 以字節計算
                unsigned long st_blksize; //blocksize for filesystem I/O 文件系統的I/O 緩沖區大小.
                unsigned long st_blocks; //number of blocks allocated 占用文件區塊的個數, 每一區塊大小為512 個字節.
                time_t st_atime; //time of lastaccess 文件最近一次被存取或被執行的時間, 一般只有在用mknod、utime、read、write 與tructate 時改變.
                time_t st_mtime; //time of last modification 文件最后一次被修改的時間, 一般只有在用mknod、utime 和write 時才會改變
                time_t st_ctime; //time of last change i-node 最近一次被更改的時間, 此參數會在文件所有者、組、權限被更改時更新
            };

            先前所描述的st_mode 則定義了下列數種情況:
            1、S_IFMT 0170000 文件類型的位遮罩
            2、S_IFSOCK 0140000 scoket
            3、S_IFLNK 0120000 符號連接
            4、S_IFREG 0100000 一般文件
            5、S_IFBLK 0060000 區塊裝置
            6、S_IFDIR 0040000 目錄
            7、S_IFCHR 0020000 字符裝置
            8、S_IFIFO 0010000 先進先出
            9、S_ISUID 04000 文件的 (set user-id on execution)位
            10、S_ISGID 02000 文件的 (set group-id on execution)位
            11、S_ISVTX 01000 文件的sticky 位
            12、S_IRUSR (S_IREAD) 00400 文件所有者具可讀取權限
            13、S_IWUSR (S_IWRITE)00200 文件所有者具可寫入權限
            14、S_IXUSR (S_IEXEC) 00100 文件所有者具可執行權限
            15、S_IRGRP 00040 用戶組具可讀取權限
            16、S_IWGRP 00020 用戶組具可寫入權限
            17、S_IXGRP 00010 用戶組具可執行權限
            18、S_IROTH 00004 其他用戶具可讀取權限
            19、S_IWOTH 00002 其他用戶具可寫入權限
            20、S_IXOTH 00001 其他用戶具可執行權限上述的文件類型在 POSIX 中定義了檢查這些類型的宏定義
            21、S_ISLNK (st_mode) 判斷是否為符號連接
            22、S_ISREG (st_mode) 是否為一般文件
            23、S_ISDIR (st_mode) 是否為目錄
            24、S_ISCHR (st_mode) 是否為字符裝置文件
            25、S_ISBLK (s3e) 是否為先進先出
            26、S_ISSOCK (st_mode) 是否為socket 若一目錄具有sticky 位 (S_ISVTX), 則表示在此目錄下的文件只能被該文件所有者、此目錄所有者或root 來刪除或改名.


            返回值:執行成功則返回0,失敗返回-1,錯誤代碼存于errno。

            錯誤代碼:
            1、ENOENT 參數file_name 指定的文件不存在
            2、ENOTDIR 路徑中的目錄存在但卻非真正的目錄
            3、ELOOP 欲打開的文件有過多符號連接問題, 上限為16 符號連接
            4、EFAULT 參數buf 為無效指針, 指向無法存在的內存空間
            5、EACCESS 存取文件時被拒絕
            6、ENOMEM 核心內存不足
            7、ENAMETOOLONG 參數file_name 的路徑名稱太長


            范例
            #include <sys/stat.h>
            #include <unistd.h>
            main()
            {
                struct stat buf;
                stat("/etc/passwd", &buf);
                printf("/etc/passwd file size = %d \n", buf.st_size);
            }

            執行:
            /etc/passwd file size = 705

            posted @ 2015-01-20 19:36 Jacc.Kim 閱讀(774) | 評論 (0)編輯 收藏

            2014年11月14日 #

                 摘要: 原文轉載自:http://blog.csdn.net/callbackfunc/article/details/7233894 本例通過新建一個MFC規則DLL并新建一個MFC對話框程序調用它,演示MFC規則DLL的創建及調用。(VS2010環境下實例代碼親測可編譯通過) 一、MFC規則DLL項目 1.創建MFC規則DLL 2.新建global.cpp(新建此文件沒有特殊意義,僅用...  閱讀全文
            posted @ 2014-11-14 10:02 Jacc.Kim 閱讀(8831) | 評論 (0)編輯 收藏

            2014年11月13日 #

             1 void CLogService::kkLog2(const char* pszName, const char* fmt, ) {
             2     cocos2d::CCFileUtils *pCCFileUtils = cocos2d::CCFileUtils::sharedFileUtils();
             3 #if defined(WIN32) || defined(_WIN32)
             4     SSString path = getExePath().c_str();
             5     path += "log/";
             6 #elif defined(IOS) || defined(__APPLE__)
             7     SSString path = pCCFileUtils->getWritablePath();
             8     path += "log/";
             9 #else
            10     SSString path = "/mnt/sdcard/external-sd/";
            11 #endif
            12 
            13     SSString filename = path + pszName;
            14 
            15     va_list ap;
            16     va_start(ap, fmt);
            17     char buf[1024];
            18     vsprintf(buf, fmt, ap);
            19     va_end(ap);
            20 
            21     std::string strTime;
            22     ___getTime(strTime);
            23     strTime += "    ";
            24 
            25 #if defined(_WIN32) || defined(WIN32)
            26     std::string strLogText = strTime + buf + "\r\n";
            27     ::OutputDebugStringA((LPCSTR)strLogText.c_str());
            28 #endif
            29 
            30     // ensure the path is exist
            31     _create_dir(path.c_str());
            32 
            33     FILE *fp = fopen(filename.c_str(), "ab+");
            34     if(fp) {
            35         fwrite(strTime.c_str(), strTime.length(), 1, fp);
            36         fwrite(buf, strlen(buf), 1, fp);
            37         fputs("\r\n", fp);
            38         fclose(fp);
            39     }
            40 }
            posted @ 2014-11-13 10:43 Jacc.Kim 閱讀(805) | 評論 (0)編輯 收藏

             1 void CShopData::generateWebDataSaveFileName(std::string &strFileName) {
             2 
             3     CCFileUtils *pCCFileUtils = CCFileUtils::sharedFileUtils();
             4 #if defined(WIN32) || defined(_WIN32)
             5     SSString path = "";
             6 #elif defined(IOS) || defined(__APPLE__)
             7     SSString path = pCCFileUtils->getWritablePath();
             8     //path += "log/";
             9 #else
            10     SSString path = "/mnt/sdcard/external-sd/";
            11 #endif
            12 
            13     strFileName = path.c_str();
            14     strFileName += g_pcszWebDataSaveFile;
            15 
            16     CWebUrlConfig *pUrlCfg = CWebUrlConfigInstance::singleton();
            17     std::string strGameId = pUrlCfg->getWebUrlAddress("gameid");
            18     strFileName = strFileName + strGameId + ".json";
            19 
            20 
            21 //     strFileName = g_pcszWebDataSaveFile;
            22 //     CWebUrlConfig *pUrlCfg = CWebUrlConfigInstance::singleton();
            23 //     std::string strGameId = pUrlCfg->getWebUrlAddress("gameid");
            24 //     strFileName = strFileName + strGameId + ".json";
            25 }
            posted @ 2014-11-13 10:42 Jacc.Kim 閱讀(304) | 評論 (0)編輯 收藏

            2014年10月21日 #

                 摘要: 直接上代碼 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->  1 #include "stdafx.h"  2 #include <fstream>&nbs...  閱讀全文
            posted @ 2014-10-21 09:49 Jacc.Kim 閱讀(3606) | 評論 (0)編輯 收藏

            2014年9月19日 #

            原文轉載自:http://blog.csdn.net/shulianghan/article/details/18964835

            一篇非常不錯的,講解 java與c++交互、以及使用ndk編并最終用eclipse鏈接成最終包的流程。原文太長,在此,僅留下原文鏈接。
            posted @ 2014-09-19 10:17 Jacc.Kim 閱讀(304) | 評論 (0)編輯 收藏

            2014年9月18日 #

            原文轉載自:https://software.intel.com/zh-cn/blogs/2013/12/17/android-android-sdk-manager

            跟燕青一起學Android應用開發(一):安裝Android開發環境一文中,筆者簡單的介紹了如何安裝Android開發環境。將安裝環境搭建好之后,我們需要配置Android SDK Manager,本篇博客將著重解說如何配置Android SDK Manager。

            Android SDK Manager是Eclipse的一個重要配置,在安裝目錄下打開eclipse/eclipse.exe執行文件,選擇“Windows”菜單下的子菜單項“Android SDK Manager”,如圖1所示。

            圖1

             

            在Android SDK Manager中,Android SDK Tools, Android SDK Platform-tools和Android SDK Platform是必須要安裝的,如圖2所示,其他的項目可以自選。

            圖2

            在本篇博客中,Android4.4(API19)做為安裝項目,讀者選擇它,點擊右下角的安裝按鈕可以開始安裝。

             

            在安裝的時候,我們可能會遇到一個錯誤,類似信息是: ” Missing SDK platform Android, API 19”,筆者折騰很很久才發現,這個主要的原因是ADT太老。什么?!在跟燕青一起學Android應用開發(一):安裝Android開發環境一文中,筆者不是下載了最新的ADT,怎么可能太老呢?!沒錯,筆者也為此思考了半天,后來發現雖然ADT是最新的,但是里面的部分內容還是陳舊的。那么如何搞定呢?

             

            不急,很簡單,只要升級一下eclipse就可以了,如圖3所示。打開“Help“菜單中的“Check for Updates”子菜單,耐心等待一下吧。

            圖3

            Content.jar包會在耐心的等待中被升級完畢,現在在試試看能否安裝了?

             

            哈哈哈,估計某人一臉的微笑了吧J

             

            對于其他包的安裝,只要在Android SDK Manager中選中它們,點擊右下角的安裝按鈕,你就可以泡杯咖啡,翹起二郎腿慢慢享受一段快樂時光了J。


            posted @ 2014-09-18 15:44 Jacc.Kim 閱讀(2995) | 評論 (0)編輯 收藏

            2014年3月31日 #

            文章轉載自:http://blog.csdn.net/antoinette/article/details/2112671


            導讀: 
              聲明導出函數: 
              DLL內的函數分兩種:只在DLL內部調用的、DLL導出函數——供應用程序調用 
              聲明導出函數兩種方法: 
              (1)在函數聲明中加上extern"C" int _declspec(dllexport)add(int x,int y);//一定要加上extern "C" 
              (2)采用模塊定義(.def)文件聲明。.def文件為鏈接器提供了有關被鏈接程序的導出、屬性和其他信息。 
              MFC AppWizard為MFC DLL創建一個.def文件,而Win32 DLL,用戶必須自己創建.def文件。 
              .def定義示例代碼如下: 
              dll.def:導出DLL函數 
              LIBRARY dllTest 
              DESCRIPTION "math" 
              EXPORTS 
              GlobleVar DATA 
              add @1 
              sub @2 
              .def文件的規則為: 
              (1)LIBRARY語句指出DLL的名字 
              (2)EXPORTS語句后列出一系列函數名稱。可以在導出函數后加@n,表示函數序號。 
              (3);表示注釋,且注釋不能和語句共享一行。 
              (4)可選部分——DESCRIPTION語句,原來描述DLL的用途。 
              (5)變量名 DATA:導出全局變量 
              DLL的調用(加載)方式: 
              (1)動態調用(顯式鏈接) 
              LoadLibrary() 
              GetProcAddress() 
              FreeLibrary() 
              (2)靜態調用(隱式鏈接) 
              由編譯系統完成對DLL的加載和應用程序結束時對DLL的卸載。需要做兩個工作: 
              a:將編譯dll工程所得的.lib和.dll文件放入調用dll工程所在的路徑。 
              包含.lib文件:#pragma comment(lib,"dllTest.lib") 
              or project->setting->link->... 
              b:聲明導入函數,extern "C" int _declspec(dllimport) add(int x,int y)中的_declspec(dllimport)//must add extern "C" 
              Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1881088 

            本文轉自 
            http://blog.csdn.net/blueshelly/archive/2007/11/12/1881088.aspx
            posted @ 2014-03-31 09:40 Jacc.Kim 閱讀(929) | 評論 (0)編輯 收藏

            2014年3月28日 #

            眾所周知,用stringstream實現數值型與string進行互轉是十分方便的。
            但它不是萬能的。有著許多限制。下面就列出幾點讓人比較郁悶的,也是問題比較大條的坑,大伙需警惕。
            坑 1:
            如果待轉換的數值型為整型,且值為0時,則轉換出來的字符串去并不是:"0"。
            調試跟蹤后,發現最終結果是一個,類似:""(即:空字符串),卻并非空字符串的東西。
            亦不是:"\0"或"\n"或" ",到現在本人仍不清楚結果是什么東東。

            坑 2:
            對于十六進制,無法正常轉換。

            坑 3:
            對于待轉換的內容中,含有非[0..9]與[.]的內容,則轉一般都會出錯。(甚者,可能會蹦)
            posted @ 2014-03-28 11:21 Jacc.Kim 閱讀(905) | 評論 (0)編輯 收藏

            亚洲av日韩精品久久久久久a| 99久久精品无码一区二区毛片 | 免费精品久久久久久中文字幕| 伊人久久大香线蕉综合网站| 无码AV波多野结衣久久| 精品少妇人妻av无码久久| 欧美伊人久久大香线蕉综合| 一级做a爰片久久毛片16| 怡红院日本一道日本久久| 日韩精品久久久肉伦网站| 伊人久久大香线蕉综合热线| 国内精品久久久久久99蜜桃| 久久久青草青青国产亚洲免观| 国内精品伊人久久久影院| 欧美综合天天夜夜久久| 国产精品成人99久久久久| 久久精品国产免费一区| 久久国产精品久久精品国产| 久久精品国产亚洲AV香蕉| 7777精品久久久大香线蕉| 久久久久亚洲精品日久生情| 狠狠色丁香婷婷综合久久来来去| 国产精品亚洲美女久久久| 久久精品亚洲一区二区三区浴池 | 久久精品国产免费| 色综合久久久久久久久五月| 一本一道久久a久久精品综合| 欧美激情精品久久久久| 精品久久久久久久久中文字幕| 久久精品国产免费观看| 国产精品久久久久免费a∨| 久久久久亚洲AV成人网人人网站 | 久久精品国产欧美日韩99热| 国产亚洲精久久久久久无码AV| 久久久精品2019免费观看| 日韩精品久久无码人妻中文字幕 | 久久久亚洲欧洲日产国码aⅴ| 精品国产乱码久久久久久呢| 久久福利资源国产精品999| 亚洲精品高清一二区久久| 久久毛片一区二区|