336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

 

 

 

 

Visual Studio 2017

 

 

 

 

빌드 도중 컴파일러의 힙 공간이 부족합니다.

 

라는 에러가 발생하는 경우가 있다.

 

 

 

 

 

 

해당 에러는

 

힙 공간의 부족으로 발생하는 에러로

 

힙 공간을 기본값보다 늘려주면

 

문제가 해결된다.

 

 

 

 

 

프로젝트 속성 페이지

 

C/C++ -> 명령줄 -> 추가 옵션

 

기본값은 /Zm100

 

두배로 늘이고 싶다면 /Zm200 으로 설정하면 된다.

 

 

https://docs.microsoft.com/ko-kr/cpp/build/reference/zm-specify-precompiled-header-memory-allocation-limit?view=msvc-160 

 

/Zm(미리 컴파일된 헤더 메모리 할당 제한 지정)

자세한 정보: /Zm(미리 컴파일된 헤더 메모리 할당 제한 지정)

docs.microsoft.com

 

 

 

 

 

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

Visual Studio 2013 클래스뷰, 리소스뷰 가 보이지 않을때













Visual Studio 종료시 에러 메세지의 지시대로


Microsoft SQL Server Compact 4.0 을 설치하면 정상적으로 작동된다.

'Programming > MFC' 카테고리의 다른 글

x64 ADO import  (0) 2016.10.28
MSSQL 테이블명, 컬럼명 검색  (0) 2016.10.27
CEdit control의 font 바꾸기  (0) 2016.10.25
CTextProgressCtrl hide Edge  (0) 2016.10.25
MFC CWnd Control Border Color Change  (0) 2016.10.20

hiredis MFC import Visual Studio 2013

Programming/Redis 2016. 9. 28. 11:49 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

hiredis MFC import




Hiredis is a minimalistic C client library for the Redis database.

It is minimalistic because it just adds minimal support for the protocol, but at the same time it uses a high level printf-alike API in order to make it much higher level than otherwise suggested by its minimal code base and the lack of explicit bindings for every Redis command.


1. Download Hiredis

Project Site : https://github.com/redis/hiredis


[Clone or download] [Download ZIP]




2. Include Hiredis Header Files



3. Config Hiredis Header Files Path







4. Build Hiredis Library File


Open Hiredis Project





Build Hiredis Project





5. Config Hiredis Library File Path





6. Sample Code




#include 
#include 
#include 

#include "hiredis.h"

#ifdef HIREDIS_WIN
#define snprintf sprintf_s
#endif

int main(void) {
    unsigned int j;
    redisContext *c;
    redisReply *reply;

    struct timeval timeout = { 1, 500000 }; // 1.5 seconds
    c = redisConnectWithTimeout((char*)"127.0.0.1", 6379, timeout);
    if (c->err) {
        printf("Connection error: %s\n", c->errstr);
        exit(1);
    }

    /* PING server */
    reply = redisCommand(c,"PING");
    printf("PING: %s\n", reply->str);
    freeReplyObject(reply);

    /* Set a key */
    reply = redisCommand(c,"SET %s %s", "foo", "hello world");
    printf("SET: %s\n", reply->str);
    freeReplyObject(reply);

    /* Set a key using binary safe API */
    reply = redisCommand(c,"SET %b %b", "bar", 3, "hello", 5);
    printf("SET (binary API): %s\n", reply->str);
    freeReplyObject(reply);

    /* Try a GET and two INCR */
    reply = redisCommand(c,"GET foo");
    printf("GET foo: %s\n", reply->str);
    freeReplyObject(reply);

    reply = redisCommand(c,"INCR counter");
    printf("INCR counter: %lld\n", reply->integer);
    freeReplyObject(reply);
    /* again ... */
    reply = redisCommand(c,"INCR counter");
    printf("INCR counter: %lld\n", reply->integer);
    freeReplyObject(reply);

    /* Create a list of numbers, from 0 to 9 */
    reply = redisCommand(c,"DEL mylist");
    freeReplyObject(reply);
    for (j = 0; j < 10; j++) {
        char buf[64];

        snprintf(buf,64,"%d",j);
        reply = redisCommand(c,"LPUSH mylist element-%s", buf);
        freeReplyObject(reply);
    }

    /* Let's check what we have inside the list */
    reply = redisCommand(c,"LRANGE mylist 0 -1");
    if (reply->type == REDIS_REPLY_ARRAY) {
        for (j = 0; j < reply->elements; j++) {
            printf("%u) %s\n", j, reply->element[j]->str);
        }
    }
    freeReplyObject(reply);

    return 0;
}


7. Sample Monitor






'Programming > Redis' 카테고리의 다른 글

Redis Client Connect Test  (0) 2016.10.26
Hiredis Subscribe/Publish with CWinThread  (0) 2016.10.05
How to use Pub/sub with hiredis in C++?  (0) 2016.09.29
hiredis fatal error C1853:  (0) 2016.09.29
Windows7 Redis 설치 및 실행  (0) 2016.09.27

Log4cxx Build in VS2013

Programming/C,CPP,CS 2016. 6. 29. 15:01 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

Log4cxx Build in VS2013


1. DownLoad FIles


Apache log4cxx 

Apache Portable Runtime (APR)
Apache Portable Runtime-util (APR-util)

GNU Sed


apache-log4cxx-0.10.0.zip

apr-1.5.2-win32-src.zip

apr-util-1.5.4-win32-src.zip

sed-4.2.1-setup.exe




2. Installation


2.1. Decompress APR, APR-util, log4cxx File in same folder
...\log4cxx\apr
...\log4cxx\apr-util
...\log4cxx\log4cxx

2.2 Install GNU sed
Run "sed-4.2-1-setup.exe"
Add environment variable %PATH% : "C:\Program Files\GnuWin32\bin" 

2.3 in "cmd.exe" move to "...\log4cxx" folder
Run "configure.bat" in "cmd.exe"
Run "configure-aprutil.bat" in "cmd.exe"

2.4. Compile "C:\work\log4cxx\log4cxx\projects\log4cxx.dsw"
Result : log4cxx.dll, log4cxx.lib
("...\log4cxx\projects\Debug or Release")

config1.

log4cxx 프로젝트 속성 / 구성 속성 / 링커 / 입력 / 추가 종속성 : 
apr.lib,
aprutil.lib,
xml.lib
추가

config2.
apr,aprutil,xml 프로젝트 속성/ 구성 속성/ 라이브러리 관리자/ 일반/출력 파일
apr.lib,
aprutil.lib,
xml.lib
이름과 같은지 확인(apr-1.lib 인경우가 있음)

config3.
log4cxx 프로젝트 속성 / 구성 속성 / C/C++ / 추가 포함 디렉터리 : 
..\src\main\include
..\..\apr\include
..\..\apr-util\include

config4.
log4cxx 프로젝트 속성 / 구성 속성 / 링커 / 추가 라이브러리 디렉터리 : 
..\..\apr\LibD
..\..\apr-util\LibD
..\..\apr-util\xml\expat\lib\LibD

Error1. C2252

LOG4CXX_LIST_DEF( ... , ... );

move to out of class area, in same namespace

but, 

LOG4CXX_LIST_DEF(ConnectionList, Connection);  

move with 

typedef log4cxx::helpers::SocketPtr Connection; 


Error2. C2039

"LoggingEvent::KeySet" change to "KeySet"


Error3. LNK2019

프로젝트 속성 / 구성 속성 / 링커 / 입력 / 추가 종속성 : Rpcrt4.lib 추가






'Programming > C,CPP,CS' 카테고리의 다른 글

비쥬얼 스튜디오 디버깅 팁 ( Visual Studio Debugging Tips )  (0) 2016.08.09
C++ Standard library has many containers  (0) 2016.07.19
Log4cxx Tutorial  (0) 2016.06.28
Log Librarys  (0) 2016.06.27
ATL,CPP,C# dll 배포  (0) 2016.05.27