• <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>

            Error

            C++博客 首頁 新隨筆 聯(lián)系 聚合 管理
              217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks

            2017年10月8日 #

            可能出現(xiàn)的編譯提示:std::bind  expects 6 arguments - 7 provided
             
            VC++上默認(rèn)的bind和tuple最多只能有5個(gè)參數(shù),高于5個(gè)就會(huì)出現(xiàn)編譯bug,,,今天有遇到這個(gè)問題了,記錄下。想來慚愧,第一次遇到還是多年以前,這次處理有找了一天多。。。

            VC下這個(gè)宏是用來控制參數(shù)最大個(gè)個(gè)數(shù)的,看2012的宏定義,最多能支持9個(gè),但是placeholder能到20個(gè)。。。
            -D_VARIADIC_MAX=9   或者 #define _VARIADIC_MAX 9
            posted @ 2017-10-08 22:35 Enic 閱讀(489) | 評論 (0)編輯 收藏

            2017年7月12日 #

            定時(shí)器使用:(cocos貌似沒有提供詳細(xì)參數(shù)文檔,參數(shù)數(shù)量不一樣的時(shí)候每個(gè)參數(shù)表達(dá)的含義不一樣,使用如果問題,請自行讀代碼,否則真不知道每個(gè)參數(shù)的含義是什么)
            ------------------------------------------------------------------------------
            1.注冊定時(shí)器
            //C++: js_CCScheduler_schedule
            cc.director._scheduler.schedule(this, this.onTimerTest.bind(this), 1, cc.REPEAT_FOREVER, 0, false, "keyCountDownTime");
            2.定時(shí)器回調(diào)原型
            onTimerTest : function (interval) {
            3.取消定時(shí)器
            cc.director._scheduler.unschedule("keyCountDownTime", this);
            ------------------------------------------------------------------------------
            cc.director._scheduler.schedule(this, this.onTimerTest.bind(this), 1);
            cc.director._scheduler.unschedule(this, this.onTimerTest.bind(this));
            ------------------------------------------------------------------------------
            直接調(diào)用node注冊,可以省略第一個(gè)target參數(shù)
            ------------------------------------------------------------------------------
            暫時(shí)沒有發(fā)現(xiàn)能直接使用free函數(shù)做定時(shí)器
            posted @ 2017-07-12 15:20 Enic 閱讀(334) | 評論 (0)編輯 收藏

            2017年6月26日 #

            exit 0   #被識(shí)別為編譯成功
            exit 1   #唄識(shí)別為編譯失敗


            比15年剛剛接觸的時(shí)候稍微好用點(diǎn)了,至少svn中文路徑,cmake支持,android打包什么的都有了,有必要再深入看一點(diǎn)資料了
            另外為了用起來方便命令行還需要多了解點(diǎn):java -jar jenkins-cli.jar -s http://22.11.140.38:9080/jenkins/  help
            posted @ 2017-06-26 14:49 Enic 閱讀(221) | 評論 (0)編輯 收藏

            2017年6月1日 #


            namespace DesignPattern
            {
                // 分離M和V的代碼
                namespace MV
                {
                    class Model
                    {

                    };

                    class View
                    {

                    };
                };

                // 切斷V對M的直接訪問,對M操作的代碼由C集中完成,M只需要做好更新到V的操作
                namespace MVC
                {
                    class Model
                    {

                    };

                    class View
                    {

                    };

                    class Controller
                    {

                    };
                };

                // 切斷M-V的耦合,變化的代碼集中到P,做到M和V完全隔離
                namespace MVP
                {
                    class Model
                    {

                    };

                    // 在MVP模式里,View只應(yīng)該有簡單的Set/Get的方法,用戶用戶輸入和設(shè)置界面顯示的內(nèi)容,
                    
            // 除此就不應(yīng)該有更多的內(nèi)容,絕不容許直接直接訪問Model
                    class View
                    {

                    };

                    class Presenter 
                    {

                    };
                };


                // 有了綁定以后實(shí)現(xiàn),其實(shí)和MVP好像沒什么太大區(qū)別,功能幾種到VM上
                namespace MVVM
                {
                    class Model
                    {

                    };

                    class View
                    {

                    };

                    class ViewModel
                    {

                    };
                };


            }
            posted @ 2017-06-01 17:34 Enic 閱讀(273) | 評論 (0)編輯 收藏

            2017年5月8日 #

            不探討多個(gè)線程持有同一個(gè)string對象的場景,只分析copy on write特性引起的,拷貝一個(gè)新對象發(fā)送到另外的線程后引起的安全問題。 假設(shè)cow基于reference counting實(shí)現(xiàn),那么ref為2,其中一個(gè)線程開始修改,需要找復(fù)制,然后減少引用計(jì)數(shù),然后操作自己的副本。這種場景下是安全的。但是不是所有的視線rec都是原子操作,所以,,,
            posted @ 2017-05-08 22:52 Enic 閱讀(324) | 評論 (0)編輯 收藏

            2017年4月17日 #

            1.bugly sdk整個(gè)目錄拷貝到cocos_sdk/external
            2.在項(xiàng)目中將bugly_sdk/agent/android/*.jar;bugly_sdk/android/*.jar拷貝到項(xiàng)目libs目錄.!!!記得要添加到j(luò)ava的Referenced Libraries否則是不生效的。
              當(dāng)前需要加入進(jìn)來的是兩個(gè)jar包,一個(gè)sdk的一個(gè)插件的
            3.在項(xiàng)目中將bugly_sdk/android/*.so拷貝到項(xiàng)目的jni/prebuilt
            4.Android.mk文件調(diào)整:
            #集成libBugly.so,添加在LOCAL_PATH := $(call my-dir)
            LOCAL_MODULE := bugly_native_prebuilt
            LOCAL_SRC_FILES := prebuilt/$(TARGET_ARCH_ABI)/libBugly.so
            include $(PREBUILT_SHARED_LIBRARY)
            #引用bugly/Android.mk定義的Module,在LOCAL_STATIC_LIBRARIES := xxx之后
            LOCAL_STATIC_LIBRARIES += bugly_crashreport_cocos_static
            #添加在末尾
            $(call import-module, external/bugly)
            5.編輯AndroidManifest.xml添加權(quán)限:
            <uses-permission android:name="android.permission.READ_PHONE_STATE" />
            <uses-permission android:name="android.permission.INTERNET" />
            <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
            <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
            <uses-permission android:name="android.permission.READ_LOGS" />
            6.初始化
            在AppDelegate::applicationDidFinishLaunching()接口調(diào)用CrashReport::initCrashReport(addId, debug)
            7.實(shí)際測試添加完成后大概半小時(shí)后生效
            posted @ 2017-04-17 19:51 Enic 閱讀(2142) | 評論 (0)編輯 收藏

            2017年4月16日 #

            // plsit測試
            cc.log("begin test plist");
            cc.spriteFrameCache.addSpriteFrames("res/hall_entrance.plist");
            //var imageView = new ccui.ImageView("#hall_enter_3.png");  錯(cuò)誤用法,js里邊需要通過ccui.Widget.PLIST_TEXTURE參數(shù)明確指定
            var imageView = new ccui.ImageView("hall_enter_3.png", ccui.Widget.PLIST_TEXTURE);
            this.addChild(imageView);




            ccui使用:
            在project.json中的modules屬性修改為:"modules" : ["cocos2d","extensions"],
            posted @ 2017-04-16 23:54 Enic 閱讀(387) | 評論 (0)編輯 收藏

            2017年4月11日 #

            Q1:怎么輸出日志
            A1:cc.log();
            Q2: 日志怎么格式化輸出
            A2:cc.log("%d-%s", 123321, 'abc'); 目測和C類似,估計(jì)和console.log也類似,應(yīng)該基礎(chǔ)的js書里邊就有,改天專門研究
            Q3:為什么獲取到的Button、Sprite等控件的contentSize是(0, 0)
            A3: 應(yīng)為沒有在resource.js中添加,添加以后就能成功獲取到size,表現(xiàn)和native一樣了。猜測可能是在圖片加載的時(shí)候做了預(yù)處理。
            posted @ 2017-04-11 23:36 Enic 閱讀(210) | 評論 (0)編輯 收藏

            2017年4月4日 #

            // ConsoleApplication2.cpp : 定義控制臺(tái)應(yīng)用程序的入口點(diǎn)。
            //

            #include "stdafx.h"
            #include <iostream>
            #include <cstdarg>
            #include <vector>

            // 變參函數(shù)例子
            // 中不包含類型信息,不包含數(shù)量信息。相對優(yōu)雅的解決方式有兩個(gè):
            // 1.類似printf的方式,通過fmt字符串解決
            // 2.類似cocos::Sequence::create的方式,應(yīng)為全部是動(dòng)畫指針,所以類型是約定好的統(tǒng)一類型,結(jié)束標(biāo)記可以使用NULL標(biāo)記
            void ParametListTest(int nStart, )
            {
                // 定義一個(gè)參數(shù)列表,用于接收解析""
                va_list parametList;

                // 輸出第一個(gè)參數(shù)
                std::cout << nStart << std::endl;

                // nStart是‘’之前最后一個(gè)函數(shù)參數(shù),用于內(nèi)存定位,獲取parametList
                va_start(parametList, nStart);

                // 里邊的具體參數(shù)個(gè)數(shù)是獲取不到的
                
            // printf的處理和這里不一樣:printf根據(jù)fmt字符串中的"%"標(biāo)記來萃取參數(shù)類型、數(shù)量

                int nTem = 0;
                // 重parametList獲取下一個(gè)類型為int的變量
                nTem = va_arg(parametList, int);

                // -1作為結(jié)束標(biāo)記
                while (-1 != nTem)
                {
                    std::cout << nTem << std::endl;

                    nTem = va_arg(parametList, int);
                }

                va_end(parametList);
            }


            // 模版參數(shù)最后一個(gè)遞歸(帶重載的遞歸)
            void TParametListTest()
            {
            }

            // C++ 1x變參模版
            template<typename T, typename  Args>
            void TParametListTest(T nStart, Args  args)
            {
                std::cout << nStart << std::endl;

                // 可以直接展開多參數(shù)的定義
                
            // 遞歸一次參數(shù)減少一個(gè),最后會(huì)調(diào)用void重載
                TParametListTest(args);
            }





            int main()
            {
                // 假設(shè)需要實(shí)現(xiàn)的功能是輸出,這個(gè)demo已經(jīng)滿足條件
                
            // 假設(shè)需要實(shí)現(xiàn)的是類似cocos的時(shí)序動(dòng)畫功能,其實(shí)把std::cout換成成員變量,或者某個(gè)全局函數(shù)即可實(shí)現(xiàn)

                ParametListTest(1, 2, 3, 3, 3, 3, -1);
                std::cout << "----------------------------" << std::endl;
                TParametListTest(1, 2, 3, 3, 3, 3);  // 采用1X可變模版參數(shù)語法實(shí)現(xiàn)的,可以抹掉末尾的結(jié)束標(biāo)記

                return 0;
            }
            posted @ 2017-04-04 13:11 Enic 閱讀(929) | 評論 (0)編輯 收藏

            2017年4月1日 #

            #filename: boost-1-60-0\tools\build\src\user-config.jam
            #b2.exe toolset=gcc-ndk4.8 --without-math link=static runtime-link=static target-os=linux --stagedir=android
            #bjam.exe toolset=gcc-ndk4.8 --without-math link=static runtime-link=static target-os=android --stagedir=android
            import os ;  
               
            if [ os.name ] = CYGWIN || [ os.name ] = NT {  
            androidPlatform = windows-x86_64 ;  
            }  
            else if [ os.name ] = LINUX {  
            androidPlatform = linux-x86_64 ;  
            }  
            else if [ os.name ] = MACOSX {  
            androidPlatform = darwin-x86 ;  
            }  
               
            modules.poke : NO_BZIP2 : 1 ;  
            ANDROID_NDK = D:/Cocos/android_ndk/android-ndk-r10d ;  
            using gcc : ndk4.8 : 
            $(ANDROID_NDK)/toolchains/arm-linux-androideabi-4.8/prebuilt/$(androidPlatform)/bin/arm-linux-androideabi-g++ :  
            <archiver>$(ANDROID_NDK)/toolchains/arm-linux-androideabi-4.8/prebuilt/$(androidPlatform)/bin/arm-linux-androideabi-ar  
            <ranlib>$(ANDROID_NDK)/toolchains/arm-linux-androideabi-4.8/prebuilt/$(androidPlatform)/bin/arm-linux-androideabi-ranlib  
            <compileflags>--sysroot=$(ANDROID_NDK)/platforms/android-9/arch-arm  
            <compileflags>-I$(ANDROID_NDK)/sources/cxx-stl/gnu-libstdc++/4.8/include  
            <compileflags>-I$(ANDROID_NDK)/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi/include  
            <compileflags>-DNDEBUG  
            <compileflags>-D__GLIBC__  
            <compileflags>-DBOOST_FILESYSTEM_VERSION=3  
            <compileflags>-lstdc++  
            <compileflags>-lgnustl_shared  
            <compileflags>-mthumb  
            <compileflags>-fno-strict-aliasing  
            <compileflags>-std=c++11  
            <compileflags>-O2  
            ;  
            using gcc : ndk4.9 : 
            $(ANDROID_NDK)/toolchains/arm-linux-androideabi-4.9/prebuilt/$(androidPlatform)/bin/arm-linux-androideabi-g++ :  
            <archiver>$(ANDROID_NDK)/toolchains/arm-linux-androideabi-4.9/prebuilt/$(androidPlatform)/bin/arm-linux-androideabi-ar  
            <ranlib>$(ANDROID_NDK)/toolchains/arm-linux-androideabi-4.9/prebuilt/$(androidPlatform)/bin/arm-linux-androideabi-ranlib  
            <compileflags>--sysroot=$(ANDROID_NDK)/platforms/android-9/arch-arm  
            <compileflags>-I$(ANDROID_NDK)/sources/cxx-stl/gnu-libstdc++/4.9/include  
            <compileflags>-I$(ANDROID_NDK)/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi/include  
            <compileflags>-DNDEBUG  
            <compileflags>-D__GLIBC__  
            <compileflags>-DBOOST_FILESYSTEM_VERSION=3  
            <compileflags>-lstdc++  
            <compileflags>-lgnustl_shared  
            <compileflags>-mthumb  
            <compileflags>-fno-strict-aliasing  
            <compileflags>-std=c++11  
            <compileflags>-O2  
            ;  
            posted @ 2017-04-01 14:51 Enic 閱讀(347) | 評論 (0)編輯 收藏

            僅列出標(biāo)題  下一頁
            久久Av无码精品人妻系列| 久久夜色精品国产噜噜麻豆| 久久精品www| 久久久精品波多野结衣| 精品久久久久久无码国产| 亚洲欧洲精品成人久久曰影片| 精品久久久久久久久免费影院| 五月丁香综合激情六月久久 | 久久久久无码专区亚洲av| 人妻系列无码专区久久五月天| 亚洲午夜无码AV毛片久久| 狠狠色丁香婷婷久久综合不卡| 欧美午夜A∨大片久久 | 久久强奷乱码老熟女| 热re99久久精品国99热| 理论片午午伦夜理片久久| 久久99国内精品自在现线| 亚洲欧美国产日韩综合久久| A级毛片无码久久精品免费| 亚洲AV无码久久精品蜜桃| 中文字幕无码久久人妻| 国产亚洲欧美精品久久久| 性高湖久久久久久久久| 思思久久精品在热线热| 久久天天躁狠狠躁夜夜不卡| 久久久精品免费国产四虎| 久久久免费精品re6| 国产激情久久久久久熟女老人| 久久亚洲国产精品123区| 国内精品久久久久久久涩爱 | 久久久久国产精品麻豆AR影院 | 亚洲色婷婷综合久久| 久久亚洲中文字幕精品一区四| 四虎国产永久免费久久| 久久国产精品成人免费| 狠狠色丁香婷婷久久综合不卡| 精品久久久久香蕉网| 国内精品久久久久久野外| 99久久成人国产精品免费| 蜜桃麻豆www久久| 久久久久亚洲av成人无码电影|