• <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++博客 首頁(yè) 新隨筆 聯(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è)問(wèn)題了,記錄下。想來(lái)慚愧,第一次遇到還是多年以前,這次處理有找了一天多。。。

            VC下這個(gè)宏是用來(lái)控制參數(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 閱讀(480) | 評(píng)論 (0)編輯 收藏

            2017年7月12日 #

            定時(shí)器使用:(cocos貌似沒(méi)有提供詳細(xì)參數(shù)文檔,參數(shù)數(shù)量不一樣的時(shí)候每個(gè)參數(shù)表達(dá)的含義不一樣,使用如果問(wèn)題,請(qǐng)自行讀代碼,否則真不知道每個(gè)參數(shù)的含義是什么)
            ------------------------------------------------------------------------------
            1.注冊(cè)定時(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注冊(cè),可以省略第一個(gè)target參數(shù)
            ------------------------------------------------------------------------------
            暫時(shí)沒(méi)有發(fā)現(xiàn)能直接使用free函數(shù)做定時(shí)器
            posted @ 2017-07-12 15:20 Enic 閱讀(326) | 評(píng)論 (0)編輯 收藏

            2017年6月26日 #

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


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

            2017年6月1日 #


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

                    };

                    class View
                    {

                    };
                };

                // 切斷V對(duì)M的直接訪問(wèn),對(duì)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)該有簡(jiǎn)單的Set/Get的方法,用戶(hù)用戶(hù)輸入和設(shè)置界面顯示的內(nèi)容,
                    
            // 除此就不應(yīng)該有更多的內(nèi)容,絕不容許直接直接訪問(wèn)Model
                    class View
                    {

                    };

                    class Presenter 
                    {

                    };
                };


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

                    };

                    class View
                    {

                    };

                    class ViewModel
                    {

                    };
                };


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

            2017年5月8日 #

            不探討多個(gè)線程持有同一個(gè)string對(duì)象的場(chǎng)景,只分析copy on write特性引起的,拷貝一個(gè)新對(duì)象發(fā)送到另外的線程后引起的安全問(wèn)題。 假設(shè)cow基于reference counting實(shí)現(xiàn),那么ref為2,其中一個(gè)線程開(kāi)始修改,需要找復(fù)制,然后減少引用計(jì)數(shù),然后操作自己的副本。這種場(chǎng)景下是安全的。但是不是所有的視線rec都是原子操作,所以,,,
            posted @ 2017-05-08 22:52 Enic 閱讀(321) | 評(píng)論 (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)來(lái)的是兩個(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í)際測(cè)試添加完成后大概半小時(shí)后生效
            posted @ 2017-04-17 19:51 Enic 閱讀(2130) | 評(píng)論 (0)編輯 收藏

            2017年4月16日 #

            // plsit測(cè)試
            cc.log("begin test plist");
            cc.spriteFrameCache.addSpriteFrames("res/hall_entrance.plist");
            //var imageView = new ccui.ImageView("#hall_enter_3.png");  錯(cuò)誤用法,js里邊需要通過(guò)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 閱讀(375) | 評(píng)論 (0)編輯 收藏

            2017年4月11日 #

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

            2017年4月4日 #

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

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

            // 變參函數(shù)例子
            // 中不包含類(lèi)型信息,不包含數(shù)量信息。相對(duì)優(yōu)雅的解決方式有兩個(gè):
            // 1.類(lèi)似printf的方式,通過(guò)fmt字符串解決
            // 2.類(lèi)似cocos::Sequence::create的方式,應(yīng)為全部是動(dòng)畫(huà)指針,所以類(lèi)型是約定好的統(tǒng)一類(lèi)型,結(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)記來(lái)萃取參數(shù)類(lèi)型、數(shù)量

                int nTem = 0;
                // 重parametList獲取下一個(gè)類(lèi)型為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;

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





            int main()
            {
                // 假設(shè)需要實(shí)現(xiàn)的功能是輸出,這個(gè)demo已經(jīng)滿(mǎn)足條件
                
            // 假設(shè)需要實(shí)現(xiàn)的是類(lèi)似cocos的時(shí)序動(dòng)畫(huà)功能,其實(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ù)語(yǔ)法實(shí)現(xiàn)的,可以抹掉末尾的結(jié)束標(biāo)記

                return 0;
            }
            posted @ 2017-04-04 13:11 Enic 閱讀(918) | 評(píng)論 (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 閱讀(337) | 評(píng)論 (0)編輯 收藏

            僅列出標(biāo)題  下一頁(yè)
            亚洲国产精品无码久久98| 久久久久av无码免费网| 天天躁日日躁狠狠久久| 亚洲国产成人精品91久久久| 伊人热人久久中文字幕| 国产精品久久久久久影院| 国产精品无码久久久久久| 久久婷婷五月综合97色一本一本 | 国产成人精品三上悠亚久久| 久久精品国产精品国产精品污| 一级a性色生活片久久无| 9999国产精品欧美久久久久久| 国产产无码乱码精品久久鸭| 亚洲午夜久久久久久久久久| 久久精品极品盛宴观看| 欧美久久久久久| 亚洲欧美成人综合久久久 | 情人伊人久久综合亚洲| 久久天堂电影网| 久久成人精品| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 久久久国产精品福利免费 | 日韩影院久久| 久久毛片一区二区| 97精品伊人久久大香线蕉app| 久久久久国产精品嫩草影院 | 国产欧美一区二区久久| 久久精品成人免费网站| 久久99精品久久久久久秒播 | 青青草原综合久久大伊人导航| 一本大道久久香蕉成人网| 日产精品99久久久久久| 久久这里只有精品久久| 久久精品无码一区二区三区免费| 狠狠色综合久久久久尤物 | 色欲综合久久躁天天躁蜜桃| 国产精品18久久久久久vr | 伊人色综合九久久天天蜜桃| 人妻久久久一区二区三区| 亚洲国产精品一区二区久久| 婷婷久久综合|