아래 경로에서 VMWare Image를 받아볼 수 있다.
http://techpp.com/2009/11/20/download-google-chrome-os-torrent/

vmdk를 마운트하고 kernel 2.6버전대의 other linux os로 선택하면 간단하게 부팅해 볼 수 있다. network이 설정되어야 하며 Google account로 로긴할 수 있다. (로긴하면 구글에서 통계를 내겠지?)
정말 Chrome만 뜬다. 그 외에 아무것도 없다. 구글의 향후 방향이 가장 잘 나타난 서비스인 듯하다. 많이 쓰지 않을듯한 Google ㅇdocs같은 서비스는 전체의 그림을 그리기 위한 요소에 불과한 듯 하다. 다 해먹을듯한...
하지만 아직 개발버전이고 한참 진행중인 프로젝트를 논하기에는 무리가 있지만 범용 OS로의 기대는 힘들 듯하다.
저작자 표시 비영리
신고
Posted by NOP 트랙백 0 : 댓글 2
디버깅 시 vecter혹은 CArray의 경우 autoexp.dat에 명시된 규칙에 따라 자동으로 배열의 형태로 출력해준다. 하지만 가끔 그 구조체 자체를 봐야 할 경우 아래와 같이 설정하면 구조체 자체가 가지고 있는 내용을 볼 수 있다.

Tools->Options->Debugging->General


저작자 표시 비영리
신고
TAG autoexp, VS
Posted by NOP 트랙백 2 : 댓글 0

Android NDK 콘솔용 Makefile

2009.11.12 19:11 from Android
안드로이드는 adb를 통해 shell 접근이 가능하다. NDK에서 사용하는 함수 확인이나 디버깅을 이렇게 shell에서 간단하게 확인해 보는것이 JNI를 통하는 것 보다 쉬울수도 있다.

Makefile
ANDROID_NDK=c:\andoird\android-ndk-1.6_r1

NDKROOT:=$(shell cygpath -u '$(ANDROID_NDK)')
SYSROOT:=$(NDKROOT)/build/platforms/android-4/arch-arm
TOOLCHAINDIR:=$(NDKROOT)/build/prebuilt/windows/arm-eabi-4.2.1/bin
TARGET_CC := $(TOOLCHAINDIR)/arm-eabi-gcc.exe
TARGET_LD := $(TOOLCHAINDIR)/arm-eabi-ld.exe

TARGET_LIBGCC := $(shell $(TARGET_CC) -mthumb-interwork -print-libgcc-file-name)
TARGET_LDLIBS := -Wl,-rpath-link=$(SYSROOT)/usr/lib $(TARGET_LIBGCC)
TARGET_CRTBEGIN_STATIC_O  := $(SYSROOT)/usr/lib/crtbegin_static.o
TARGET_CRTBEGIN_DYNAMIC_O := $(SYSROOT)/usr/lib/crtbegin_dynamic.o
TARGET_CRTEND_O := $(SYSROOT)/usr/lib/crtend_android.o
STDLIBS=c m stdc++
TARGET_SHARED_LIBRARIES:=$(foreach STDLIBS, $(STDLIBS), $(SYSROOT)/usr/lib/lib$(STDLIBS).so)
TARGET_STATIC_LIBRARIES:=$(foreach STDLIBS, $(STDLIBS), $(SYSROOT)/usr/lib/lib$(STDLIBS).a)
TARGET=test

INCLUDE:=-I$(SYSROOT)/usr/include
CFLAGS+=-c $(DEFINE) $(INCLUDE) \
    -march=armv5te -mtune=xscale \
    -msoft-float -fpic \
    -mthumb-interwork \
    -ffunction-sections \
    -funwind-tables \
    -fstack-protector \
    -fno-short-enums \
    -fshort-wchar \
    -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ \
    -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__
   
EXEFLAGS=-nostdlib -Bdynamic \
    -Wl,-dynamic-linker,/system/bin/linker \
    -Wl,--gc-sections \
    -Wl,-z,nocopyreloc \
    $(TARGET_SHARED_LIBRARIES) \
    $(TARGET_CRTBEGIN_DYNAMIC_O) \
    $(TARGET_STATIC_LIBRARIES) \
    $(TARGET_LDLIBS) \
    $(TARGET_CRTEND_O)   

all: $(TARGET)

$(TARGET): main.o
    $(TARGET_CC) $(EXEFLAGS) -o test main.o
   
clean:
    rm $(TARGET) main.o
   
main.o: main.c
    $(TARGET_CC) $(CFLAGS) -o $@ $<

main.c

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char** argv)
{
    FILE* hFile = fopen("a.txt", "w");
   
    fprintf(hFile, "1234");
    fclose(hFile);
   
    return 0;
}

실행예
adb push test /data
adb shell
# cd /data
# chmod 777 test ; ./test
저작자 표시 비영리
신고
Posted by NOP 트랙백 0 : 댓글 1
NDK의 Makefile을 사용하지 않는 간단버전의 Makefile, target은 so파일

# tool chain setting
ANDROID_NDK16=c:\andoird\android-ndk-1.6_r1
NDKROOT:=$(shell cygpath -u '$(ANDROID_NDK16)')
SYSROOT:=$(NDKROOT)/build/platforms/android-4/arch-arm
TOOLCHAINDIR:=$(NDKROOT)/build/prebuilt/windows/arm-eabi-4.2.1/bin
CC:=$(TOOLCHAINDIR)/arm-eabi-gcc.exe
CXX:=$(TOOLCHAINDIR)/arm-eabi-g++.exe
AR:=$(TOOLCHAINDIR)/arm-eabi-ar.exe
LD:=$(TOOLCHAINDIR)/arm-eabi-ld.exe

TARGET_LIBGCC := $(shell $(CC) -mthumb-interwork -print-libgcc-file-name)
TARGET_LDLIBS := -Wl,-rpath-link=$(SYSROOT)/usr/lib $(TARGET_LIBGCC)
TARGET_CRTBEGIN_STATIC_O  := $(SYSROOT)/usr/lib/crtbegin_static.o
TARGET_CRTBEGIN_DYNAMIC_O := $(SYSROOT)/usr/lib/crtbegin_dynamic.o
TARGET_CRTEND_O := $(SYSROOT)/usr/lib/crtend_android.o
STDLIBS=c m stdc++
TARGET_SHARED_LIBRARIES:=$(foreach STDLIBS, $(STDLIBS), $(SYSROOT)/usr/lib/lib$(STDLIBS).so)
TARGET_STATIC_LIBRARIES:=$(foreach STDLIBS, $(STDLIBS), $(SYSROOT)/usr/lib/lib$(STDLIBS).a)
INCLUDE:=-I$(SYSROOT)/usr/include

CFLAGS+=-c $(DEFINE) $(INCLUDE) \
    -march=armv5te -mtune=xscale \
    -msoft-float -fpic \
    -mthumb-interwork \
    -ffunction-sections \
    -funwind-tables \
    -fstack-protector \
    -fno-short-enums \
    -fshort-wchar \
    -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ \
    -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__
ifeq ($(DEBUG),y)
    CFLAGS+= -O0 -g
else
    CFLAGS+= -O2
endif
LDFLAGS=-nostdlib -Wl,-soname,$(notdir $@) \
    -Wl,-shared,-Bsymbolic \
    -Wl,--no-whole-archive \
    $(TARGET_LDLIBS) \
    -Wl,--whole-archive -o

# source setting
EXCLUDES:=
SRCDIR:=../src \
    ../test/src
CSRCS:=$(foreach SRCDIR, $(SRCDIR), $(filter-out $(EXCLUDES), $(wildcard $(SRCDIR)/*.c)))
OBJS=$(CSRCS:.c=.o)
TARGET=libTest.so

INCLUDE+=
CFLAGS+=
LIBFILES+=

# label
%.o: %.c
    $(CC) $(CFLAGS) -o $@ $<

all: $(TARGET)
   
$(TARGET): $(OBJS)
        $(CC) $(LDFLAGS) $@ $(OBJS) $(LIBFILES)

clean:
    rm $(OBJS) $(TARGET)

저작자 표시 비영리
신고
Posted by NOP 트랙백 0 : 댓글 0

FANN Matlab(Win32) Bindings

2009.10.26 17:11 from Etc
아래의 링크에 FANN의 Matlab Binding이 존재한다.
http://www.sumowiki.intec.ugent.be/index.php/FANN_Bindings
그러나 gcc버전이고 Win32 빌드환경은 없어 올려봄.

사용 예는 아래와 같다.
connectivity = 1;

p = [1 0; 0 1; 0 0];
t = [1; 0; -1];
ann = createFann([2 5 1],connectivity); ann = trainFann(ann,p,t); yp = testFann(ann,p);

저작자 표시 비영리
신고
Posted by NOP 트랙백 0 : 댓글 0

_CrtSetAllocHook함수를 이용하면 쉽게 측정이 가능하다. 아래와 같이 구현하면 AllocHook이 메모리관련 함수가 호출될때마다 호출된다.

#include <crtdbg.h>

 

#define nNoMansLandSize 4

 

typedef struct _CrtMemBlockHeader

{

        struct _CrtMemBlockHeader * pBlockHeaderNext;

        struct _CrtMemBlockHeader * pBlockHeaderPrev;

        char *                      szFileName;

        int                         nLine;

#ifdef _WIN64

        /* These items are reversed on Win64 to eliminate gaps in the struct

        * and ensure that sizeof(struct)%16 == 0, so 16-byte alignment is

        * maintained in the debug heap.

        */

        int                         nBlockUse;

        size_t                      nDataSize;

#else  /* _WIN64 */

        size_t                      nDataSize;

        int                         nBlockUse;

#endif  /* _WIN64 */

        long                        lRequest;

        unsigned char               gap[nNoMansLandSize];

        /* followed by:

        *  unsigned char           data[nDataSize];

        *  unsigned char           anotherGap[nNoMansLandSize];

        */

} _CrtMemBlockHeader;

 

#define pbData(pblock) ((unsigned char *)((_CrtMemBlockHeader *)pblock + 1))

#define pHdr(pbData) (((_CrtMemBlockHeader *)pbData)-1)

 

FILE* g_hfileLog = NULL;

 

int AllocHook(int nAllocType, void *pvData, size_t nSize, int nBlockUse,

                         long lRequest, const unsigned char * szFileName, int nLine)

{

        static size_t sizeAlloc = 0;

        _CrtMemBlockHeader *pHead;

       

        if ( nBlockUse == _CRT_BLOCK )

               return true;

 

        switch (nAllocType)

        {

        case _HOOK_ALLOC:

               sizeAlloc += nSize;

               fprintf(g_hfileLog, "ALLOC\t%d\n", sizeAlloc);

               break;

        case _HOOK_REALLOC:

               break;

        case _HOOK_FREE:             

               pHead = pHdr(pvData);

               sizeAlloc -= pHead->nDataSize;

               fprintf(g_hfileLog, "FREE\t%d\n", sizeAlloc);

               break;

        }

       

        return true;

}

 

int main(int argc, char** argv)

{

        g_hfileLog = fopen("log.txt", "w+");

        fprintf(g_hfileLog, "Start\n");

 

        _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );

        _CrtSetAllocHook(AllocHook);

 

 

        fclose(g_hfileLog);

        return 0;

}
저작자 표시 비영리
신고
Posted by NOP 트랙백 0 : 댓글 2
아래의 링크를 보면 xcode에서 Makefile을 이용한 빌드 방법이 소개 되어있다.
http://developer.apple.com/DOCUMENTATION/Porting/Conceptual/PortingUnix/preparing/chapter_3_section_4.html

설명된 내용과 같이 “External Target”과 “New Custom Executable”을 추가하면 무리없이 빌드가 가능하다. 그러나 디버깅시에는 디버깅 심볼을 추가함에도 Break point를 추가해도 Pause되지 않는다. 이런 경우에는 Preferences에서 Symbol Loading Options의 Load symbols lazily 옵션을 끄면 디버깅 할 수 있다.


하지만 Obj-C를 사용하는 것이 아니라면  그냥 Xcode를 사용하는 것 보다는 Eclipse를 사용하는 것이 더 편하다;;

신고
Posted by NOP 트랙백 0 : 댓글 0

Apple iPhone NDA 포기

2008.10.02 09:48 from iPhone

We have decided to drop the non-disclosure agreement (NDA) for released iPhone software.

We put the NDA in place because the iPhone OS includes many Apple inventions and innovations that we would like to protect, so that others don’t steal our work. It has happened before. While we have filed for hundreds of patents on iPhone technology, the NDA added yet another level of protection. We put it in place as one more way to help protect the iPhone from being ripped off by others.

However, the NDA has created too much of a burden on developers, authors and others interested in helping further the iPhone’s success, so we are dropping it for released software. Developers will receive a new agreement without an NDA covering released software within a week or so. Please note that unreleased software and features will remain under NDA until they are released.

Thanks to everyone who provided us constructive feedback on this matter.

애플이 공식적으로 iPhone의 NDA를 해제하기로 결정했다. 그 간 공식적으로 내부적으로 분석된 내용에 대해서 출판이 불가했다.

신고
TAG iphone, NDA
Posted by NOP 트랙백 0 : 댓글 0

Cocos2D

2008.09.01 23:42 from iPhone
cocos2d is a framework for building 2D games, demos, and other graphical/interactive applications.

cocos2d
http://www.cocos2d.org/
cocos2d-iphone http://code.google.com/p/cocos2d-iphone/
신고
Posted by NOP 트랙백 0 : 댓글 0
iPhoneDev에서 공식적으로 배포하기전 자신의 블로그에서 PwnageTool 2.0을 공개했다.

Thanks for waiting :)

Here you go.

We’ll be releasing a more official announcement soon, but we wanted to get the tool out there. We sincerely hope you enjoy using it as much as we enjoyed making it :)

Update 1: Just to clear up some confusion over what this actually does: yes, it jailbreaks and unlocks older iPhones, and jailbreaks iPhone 3Gs and iPod Touches. We only support the 2.0 firmwares.

Update 2: It looks like there aren’t enough TCP ports on that server, so _BigBoss_ has generously offered to mirror it.

Update 3: If you get Error 1600 from iTunes, try: mkdir “~/Library/iTunes/Device Support” ;  if that directory already exists, remove any files in it.  Then re-run PwnageTool. 

이로 2.0 Firmware도 Jailbreak가 되었다. 앞으로도 AppStore와 비공식 루트(Install.app)가 공존할 가능성은 있어보인다.

 
신고
Posted by NOP 트랙백 0 : 댓글 0

티스토리 툴바