반응형
사용자 삽입 이미지

IBM dw 1기 모니터 요원으로 활동한지 반년이 지나갔다.

그렇게 1기의 활동 기간이 끝나고 2기가 선발 되고 1기 해체식과 2기 킥오프가

로보코드 행사와 같이 진행 되었다.

반년동안의 짧은 시간동안 나는 모니터 요원으로서 활동을 곰곰히 되짚어 보았다.

이곳 dw에서 만난 사람들과 같이 했던 일들 그리고 회의 등....

그리고 모니터 요원으로서 교내에서의 홍보 활동등...

그 마지막 장식은 로보코드 16강과 함께 하게 되었다.  로보코드 행사에 참석 후..

학과 후배이며 내가 동아리장으로 있었던 "CASTERLAB"의 후배인 석재의 모습이 보였다.

로보코드 16강 진출! 그렇게 하여 학교가 아닌 IBM에서 보게 되었다. 정말 반가웠다.

그리고 내가 활동함에 있어 작은 보람이라고 생각했다. 로보코드를 홍보하면서 교내에서

관심을 갖길 바랬었는데 후배가 16강에 진출하여 IBM에서 만나게 되었으니 말이다.

8강 까지 진출하였지만 안타깝게 떨어지고 말았지만 내가 홍보한후 처음 알게되서

8강까지 진출한 쾌거를 이룬것이 대견했다.^^ 그리고 나도 1기 모니터 요원의 활동기간이 끝나고

우수요원으로 선발되어 더욱 뜻깊었다. 그렇게 나의 1기 모니터 요원으로서 활동은 끝이 났고

로보코드 결승까지 치루고 16강 진출자들과 2기 모니터 요원들 그리고 1기 모니터요원들과

같이 비어파티를 갖게 되었다. 1기 활동의 마지막이라 생각하니 조금 아쉬운 감이 있었다.

이곳에서 많나 활동하면서 무엇보다 하나 중요한 것이 남는게 있었다면 이곳에서 만난

사람들과 소중한 친구들이 아닐까 싶다. 
반응형
CBuilder Project 에는 c 와 cpp 모두 참여 시킬 수 있습니다.
그러나 컴파일러는 서로 다르게 컴파일 합니다.

c 는 말그대로 c 컴파일을 수행하고요 cpp 는 cpp 컴파일을 수행합니다.
c 와 cpp 는 구분상 별 차이는 없으나
cpp 는 class 구문이 추가 되었다는것이죠.
기타 다른 차이점도 다소 있겠지만요.

c source 에서는 vcl.h 를 사용못한다는 것도 결론적인 차이겠군요.

사실 더 큰차이는
서로 함수의 선언 부분입니다.
a.cpp 와 b.c 가 있다고 가정하고 두개 모두 같은 프로젝트에 있다고 가정하죠.

a.cpp 에
void acpp() 함수가 있다고 가정하고

b.c 에
void bc() 라는 함수가 있다고 가정하면

a.cpp 에서는 bc() 함수를 호출 못합니다.
또한 b.c  에서도 acpp() 함수를 호출 못합니다.

단..
함수를 이렇게 선언하면 서로 호출 할 수 있습니다.
extern "C"{
   void acpp();
   void bc();
};

컴파일러는 함수를 컴파일 할때 함수명 그대로 가지지 않습니다.
변형을 하게 되는데요.. c 에서와 cpp 에서는 서로 다릅니다.
c 에서는 cpp 형태를 못만들기 때문에 cpp 에서 c 형식으로 만드는 것 이죠.

cpp 에서도 c 구문을 다 쓰실수 있으니까 가능하면 cpp 로 통일해서 (저같은 경우 이런상황이라면
모든 c를 cpp 라 rename 하는 경우가 많습니다) 사용하시는게 좋을것 같습니다.

즉 CBuilder 는 확장자를 이용해 컴파일러를 선택 합니다. pas 는 pascal , c 는 c , cpp 는 cpp죠
같은 컴파일러라도 내부적으로 컴파일은 다른것 입니다.
반응형
Ø

라이브러리란?
특정한 코드(함수 혹은 클래스)를 포함하고 있는 컴파일된 파일이다.

라이브러리를 만드는 이유?
 자주 사용되는 특정한 기능을 main 함수에서 분리시켜 놓음으로써, 프로그램을 유지, 디버깅을 쉽게하고 컴파일 시간을 좀더 빠르게 할수 있기 때문이다.

라이브러리에도 그 쓰임새에 따라서 여러가지 종류가 있다(크게 3가지). 가장 흔하게 쓰일수 있는 "정적라이브러리"와 "공유라이브러리", "동적라이브러리" 가 있다.

이들 라이브러리가 서로 구분되어지는 특징은 적재 시간이 될것이다.

정적라이브러리

정적라이브러리는 object file(.o로 끝나는) 의 단순한 모음이다. 정적라이브러린느 보통 .a 의 확장자를 가진다. 간단히 사용할수 있다. 컴파일시 적재되므로 유연성이 떨어진다. 최근에는 정적라이브러리는 지양되고 있는 추세이다. 컴파일시 적재되므로 아무래도 바이너리크기가 약간 커지는 문제가 있을것이다.

공유라이브러리

공유라이브러리는 프로그램이 시작될때 적재된다. 만약 하나의 프로그램이 실행되어서 공유라이브러리를 사용했다면, 그뒤에 공유라이브러리를 사용하는 모든 프로그램은 자동적으로 만들어져 있는 공유라이브러리를 사용하게 된다. 그럼으로써 우리는 좀더 유연한 프로그램을 만들수 잇게 된다.

정적라이브러리와 달리 라이브러리가 컴파일시 적재되지 않으므로 프로그램의 사이즈 자체는 작아지지만 이론상으로 봤을때, 라이브러리를 적재하는 시간이 필요할것이므로 정적라이브러리를 사용한 프로그램보다는 1-5% 정도 느려질수 있다. 하지만 보통은 이러한 느림을 느낄수는 없을것이다.

동적라이브러리

공유라이브러리가 프로그램이 시작될때 적재되는 반면 이것은 프로그램시작중 특정한때에 적재되는 라이브러리이다. 플러그인 모듈등을 구현할때 적합하다. 설정파일등에 읽어들인 라이브러리를 등록시키고 원하는 라이브러리를 실행시키게 하는등의 매우 유연하게 작동하는 프로그램을 만들고자 할때 유용하다.

– MS VC++  라이브러리 만들기


사용자 삽입 이미지
1.project name란에 라이브러리 이름 작성
사용자 삽입 이미지
사용자 삽입 이미지












2.test.c 파일을 생성한다.(함수 정의(구현)부분에 대한 내용)

3.test.h 파일을 생성한다.(함수의 선언부분이 있는곳)

사용자 삽입 이미지

 
//나만의 덧셈 라이브러리 만들기
#include <stdio.h>
#include "test.h"
//덧셈 함수 구현부분
int Add(int a,int b)
{
   return a+b;
}




3.test.h 에 함수에 대한 선언
   ex> int Add(int a, int b);
4.컴파일 하면 Debug 디렉토리 안에 프로젝트명.lib 이 생성

그 다음은 헤더파일을 해당 프로젝트에 넣고 라이브러리 링크
시키면 사용됨.

C로 만든 라이브러리를 C++ 프로젝트에 사용할때는 주의를 하자.
컴파일 과정에서 만들어진 라이브러리의 함수명이 차이가 있다.
C 로 만든 라이브러리는 C프로젝트에서..
C++로 만든 라이브러리는 C++프로젝트에서..
다른 방법으로는 위에 글에 설명..
반응형

C++에서 Memory(auto든 static이든 dynamic이든)를 사용할 때 초기화 하지 않았을 때의 값은 Undefined다. VC++에서는 Debug모드일 때 메모리 관련 오류를 디버깅하기 위해 자동으로 메모리를 초기화 해 주는데, 그 값들은 아래와 같다.


  • 0xcccccccc (3435973836) - 초기화 되지 않은 지역변수.
  • 0xcdcdcdcd (3452816845) - 초기화되지 않은 힙에 할당된 메모리.
  • 0xdddddddd (3722304989) - 힙에서 free된 메모리.
  • 0xfeeefeee (4277075694) - 힙에서 free된 메모리.
  • 0xfdfdfdfd (4261281277) - 힙에 할당된 메모리의 초과범위(할당된 메모리의 양쪽 끝)


참고하자!

From: http://blog.empas.com/lisyoen/16384741


================================================================================================================

디버그모드시 쓰레기 값의 의미

*릴리즈는 이값을 채워넣지않음.


  • 0xCCCCCCCC
    초기화 하지 않은 지역변수
  • 0xCDCDCDCD
    힙에 할당된 메모리다.그러나 초기화 되지 않았다.
  • 0xDDDDDDDD or 0xFEEEFEEE
    힙에서 Free된 메모리이다. 그것을 사용할 때
  • 0xFDFDFDFD

할당한 것을 벗어난 heap의 공간을 사용할 시

알고 보니 단순 쓰레기값이 아니더라구요,
디버깅할때 잘못된 메모리 주소 사용으로인해 프로그램이 중단되었을경우
값을 보고 원인을 찾을수 있습니다.


원문출처 : http://www.gpgstudy.com/forum/viewtopic.php?topic=10342
참고출처 : http://www.codeguru.com/Cpp/W-P/win32/tutorials/article.php/c9535/


반응형
:: 2007년 08월 08일 ::

  Weekly Highlight
IBM developerWorks가 dW Review Blogger를 모집합니다.
오늘 오후 3시부터 벌어지는 로보코드 코리아컵 2007이 미투데이로 실시간 현장중계될 예정입니다. 미투데이와 함께 긴장감 넘치는 결선대회를 함께하세요.
IBM developerworks에서 2007년 하반기 활동할 'developerWorks 대학생 모니터 요원 2기'를 발표합니다.
   Local Contents
“검색으로 인간을 이롭게 한다” - 그루터 대표, 권영길 (dW Interview)
해커 문화의 뿌리를 찾아서 Part 5: Fixed Point 계산과 고차 함수 - 안윤호 (Special Issue)
이클립스 발전의 원동력은 커뮤니티, 에릭 롱 (dW Interview)
시맨틱 소셜 네트워크를 향해, Part 1: 시맨틱 소셜 네트워크와 FOAF -김학래 (Special Issue)
   최신 기술자료 (한글)
SOA 복합 비즈니스 서비스 구현하기, Part 8: WebSphere Portlet Factory 동적 프로파일을 사용하여 다중 소유 포틀릿 구현하기 [SOA와 웹서비스]
WebSphere Portlet Factory를 사용하여 동적 프로파일을 사용함으로써 표현 레이어 내에서 설정 가능성을 이룩하는 방법을 배워봅시다.
업데이트: IBM Lotus Sametime V7.5.1의 새로운 기능 [Lotus]
point-to-point 비디오, 데스크탑 생산성 애플리케이션들과의 통합 등, IBM Lotus Sametime V7.5.1의 아키텍처 및 디자인 변화에 대해 살펴봅니다.
XML과 자바: 저급 또는 고급 XML API? [XML]
어느 정도의 XML 컨트롤을 원하십니까? Brett McLaughlin이 핵심적인 XML API를 설명하고, 개발자들이 자바와 XML 프로그래밍을 최대한 활용하고 있는지를 조명합니다.
리눅스 커널 해부 [리눅스]
커널은 서브시스템과 레이어로 나뉠 수 있습니다. 리눅스 소스를 더욱 잘 이해할 수 있도록 아키텍처를 설명합니다.
Eclipse RAVEN 방식으로 GUI 접근성 테스트 하기 [오픈 소스]
GUI의 접근성을 점검하기란 어려운 일입니다. IBM Rule-based Accessibility Validation Environment Eclipse 플러그인으로 런타임 접근성 체크가 빨라집니다.
SOA에 레거시 시스템 적용하기 [SOA와 웹서비스]
서비스 지향 아키텍처를 사용하여 기존 IT 자산들을 변형할 때의 주요 이점에 대해 알아봅시다. 여러분은 변화하는 비즈니스 조건에도 빠르고 유연하게 대처할 수 있습니다.
   기획 기사
최고의 매시업 -- 웹 서비스와 시맨틱 웹
이번 기획기사를 통해 시맨틱 기술을 이용하여 서비스를 교환하거나 데이터를 선택하는 방식으로 자신만의 매시업을 만들어내는 기법을 배움으로써 웹 창시자와 선구자들이 꿈꾸었던 비전에 다가갈 수 있는 힌트를 얻을 수 있을 것입니다.
   최신 튜토리얼 (한글)
PHP를 사용하여 인터랙티브한 제작 방식의 위키 만들기, Part 4: 작업 관리 [오픈 소스]
PHP를 사용하여 인터랙티브한 제작 방식의 위키 만들기" 튜토리얼 연재에서는 제작 과정 추적에 유용한 각종 기능이 있는 위키를 PHP를 사용해 처음부터 만듭니다. Part 3에서는 누가 무엇을 할 수 있는지에 대한 컨트롤을 추가했습니다. 이제 작업 관리를 추가할 차례입니다.
구글 가젯 만들기, Part1: 구글 가젯 기본요소 [웹 개발]
이번 새 웹 개발 연재에서는 구글 가젯을 만드는 법을 배웁니다. 가젯은 작은 애플리케이션인데 동적이고 품질 좋은 콘텐츠를 제공하는 수단으로서 대부분의 웹 페이지에 추가할 수 있습니다.
   최신 튜토리얼 (영문)
Lotus Component Designer를 사용하여 WebSphere Portal 컴포넌트 생성 및 전개하기
   최신 SW 다운로드
온라인 시험판: Rational Build Forge V7.0
WebSphere Application Server Community Edition V1.1.0.2 (무료 제품: 업데이트)

  마이크로소프트웨어(www.imaso.co.kr) 8월호 주요 목차

[COVER STORY] 프로젝트 생산성을 높여주는 협업 노하우
커뮤니케이션과 협업 / 위키를 활용한 협업 노하우 / BTS 활용 노하우 / Jira와 Mylyn 활용 전략 / CVS/SVN을 이용한 버전 관리 / Visual Studio Team System과 협업

[SPECIAL REPORT] 리눅스 대중화의 꿈, 아시아눅스 데스크톱 3
데스크톱용 리눅스, 어디까지 왔나? / 64비트 지원과 3D 강화, 그리고 라이브 CD / 리눅스 애플리케이션의 세계 / 아시아눅스 대중화 전략

[STEP BY STEP] PHP를 사용한 상호교환 방식의 위키 만들기 Part 4: 작업 관리 from IBM 디벨로퍼웍스

top

더이상 구독을 원치 않으시는 분은 developerWorks에서 뉴스레터 [구독 취소]를 선택하여 주시기 바랍니다.
developerWorks 운영자에게 메일 보내기
Copyright ⓒ IBM Korea, Inc. All rights Reserved.

반응형

윈속을 쓰는데 라이브러리를 추가해야 하더라고요.
요놈.. ^^ ws2_32.lib wsock32.lib 두개의 라이브러리 파일 추가

디폴트 프로젝트에 라이브러리가 자동으로 포함되지 않기 때문에..

visual studio 2005에서는

프로젝트(P) -> 속성(P) (alt+F7) -> 구성 속성 -> 링커 -> 입력 -> 추가 종속성 에

추가해 주는 방법이 있습니다..

그 외에는 두가지 방법이 있네요.

1. #pragma comment(lib,"ws2_32.lib")
이걸 헤더파일에 추가해주는방법

2. 라이브러리를 링크시켜주는 방법
프로젝트 이름을 선택하신후 오른쪽 버튼 - ADD - Existing Item...에서 디렉토리 찾아서 ws2_32.lib를 넣어주면 됩니다. ^^
winmm.lib(windows multimedia를 의미) 라이브러리를 추가해 주어야 한다.


반응형

이 글은 guda님의 미투데이 2007년 8월 4일 내용입니다.

반응형
  • 블로그 좀 잘 운용해볼까 하는 마음에 도메인을 샀다. pmguda.com ㅎㅎ 오후 3시 54분

이 글은 guda님의 미투데이 2007년 7월 31일 내용입니다.

반응형
기본 : HTML, HEAD, BODY

HEAD : TITLE, LINK, META, BASEFONT, BASE

블럭 : P, H1, H2, H3, H4, H5, H6, DIV, BLOCKQUOTE, PRE, ADDRESS, HR

항목 : UL, OK. LI, DL, DT, DD

객체 : OBJECT, EMBED, NOEMBED, APPLET, IMG

인라인 : EM, STRONG, DFN, CODE, SAMP, KBD, VAR, CITE, ABBR, ACRONYM, SUP, SUB, B, I, TT, BIG, SMALL, STRIKE, S, U, INS, DEL, FONT, Q, SPAN, BDO, BR, NOBR, WBR

FORM : FORM, INPUT, SELECT, OPTION, TEXTAREA

하이퍼링크 : A, MAP, AREA

프레임 : FRAMESET, FRAME, IFRAME, NOFRAMES

표 관련 : TABLE, TR, TD, TH, CAPTION, COL, COLGROUP, THEAD, TBODY, TFOOT

기타 : SCRIPT, STYLE

☞ 블럭 , 항목, FORM , TABLE 항목은 닫는 태그뒤에 줄바꿈이 일어난다.
반응형
IBM developerworks에서 2007년 하반기 활동할 'developerWorks 대학생 모니터 요원 2기'를 아래와 같이 발표합니다.

오는 8월 8일 수요일, 로보코드 코리아컵 2007 결승대회와 제2기 developerWorks 대학생 모니터요원 임명식이 함께 진행되오니 선정되신 분들은 꼭 참석해주셨으면 합니다.
행사에 대한 보다 자세한 안내사항은 추후 개별 통지해 드리겠습니다.

developerWorks에 많은 관심을 보여주신 대학생 여러분들께 진심으로 깊은 감사 드립니다.

• 선정자 명단 (15명)
성명         학교명
김동철       호남대학교
김주호       서울대학교
김현경       성신여자대학교
남상균       인하대학교 대학원
민창현       경북대학교
박성일       서울산업대학교
박영식       숭실대학교
박지용       고려대학교 대학원
설혜미       한신대학교
신형기       전북대학교
유용빈       명지대학교
이국진       인천대학교
장영석       세종대학교
전민지       서울여자대학교
한성현       숭실대학교 대학원

IBM developerWorks 2기 모니터 요원 선정 되었네요. ^^

뽑히신 분들 축하드리고요.. 다음 모임에서 뵈었으면 좋겠네요.^^

+ Recent posts