분류 전체보기 (10)
프로그래밍 (9)
사진 (0)
Top10 LIST (1)
ColorSwitch 00 01 02
자 이제 FFMPEG을 윈도우즈에서 사용할 준비가 완료되었습니다. 후후후
이제 비주얼 스튜디오를 이용하여 프로그램을 만들어야 겠죠 +_+
저는 VS Dot Net 2003에서 만들었습니다.
프로그램은 졸업 논문의 부분으로 부가기능으로 해놔서 공개하기가 좀 ㅡㅡㅋ

여기서는 자신의 프로젝트에 생성된 dll 사용 방법과 extern 방법 그리고 사용시 발생하는 오류중에 몇가지 생각나는데로 해결 방법만을 살짝 적어볼랍니다 ^^

고고싱~

1.      Visual Studio dll 사용 방법

     생성된 솔루션을 열고 목록에서 프로젝트->프로젝트명의속성

     C/C++ 항목 -> 일반에서 추가 디렉토리 C:\msys\local\include

     링커 항목 -> 일반에서 추가 라이브러리 디렉토리 c:\msys/local\bin

     링커 항목 ->입력에서 추가 종속성 avutil,avcodec,avformat lib 추가 (참고. 보통 avutil.lib, avcodec.lib, avformat.lib로 생된다고 하나 lib dll의 이름이 뒤에 버전이 붙을 수 도 있으니 확인 후 입력)

     이 후 필요한 헤더 파일 및 동적 링크는 알아서 추가 시켜야 함.

2.      프로젝트 예

#include <math.h>

#include <ffmpeg/inttypes.h>

#include <stdint.h>

 

extern "C" __declspec(dllimport) void av_free(void *);

extern "C" __declspec(dllimport) int avcodec_close(struct AVCodecContext *);

extern "C" __declspec(dllimport) int avcodec_encode_audio(struct AVCodecContext *avctx, uint8_t *buf, int buf_size, const short *samples);

extern "C" __declspec(dllimport) int avcodec_open(struct AVCodecContext *avctx, struct AVCodec *codec);

extern "C" __declspec(dllimport) AVCodecContext *avcodec_alloc_context(void);

extern "C" __declspec(dllimport) AVCodec *avcodec_find_encoder(enum CodecID id);

extern "C" __declspec(dllimport) int avcodec_decode_audio(struct AVCodecContext *avctx, int16_t *samples,int *frame_size_ptr, uint8_t *buf, int buf_size);

extern "C" __declspec(dllimport) AVCodec *avcodec_find_decoder(enum CodecID id);

extern "C" __declspec(dllimport) int avcodec_encode_video(struct AVCodecContext *avctx, uint8_t *buf, int buf_size, const struct AVFrame *pict);

extern "C" __declspec(dllimport) AVFrame *avcodec_alloc_frame(void);

extern "C" __declspec(dllimport) int avcodec_decode_video(AVCodecContext *avctx, AVFrame *picture, int *got_picture_ptr, uint8_t *buf, int buf_size);

extern "C" __declspec(dllimport) void avcod  ec_register_all(void);

extern "C" __declspec(dllimport) void avcodec_init(void);

 

#include <ffmpeg/avcodec.h>

#include <ffmpeg/avformat.h>

#include <ffmpeg/avutil.h>

#define INBUF_SIZE 4096

è  이런 식으로 사용 각 함수 사용 가능 해 짐.

 

환경에 따른 많은 오류가 발생한다

오류에 따른 몇가지 처리는 다음과 같이 하면 해결 가능

1.      각 케스팅 타입은 전통 C 타입으로 한다.(void *의 반환 타입 에러)

2.      #define AV_NOPTS_VALUE INT54_C(0x8000000000000000)에러 메시지는

#define __STDC_CONSTANT_MACROS를 추가 하여 준다.

3.      Inttypes.h 파일 요구는 위의 과정에서 확인한다.

4.      Enum 에러는 정수 형태로 대입이 불가능 하므로 enum CodecID 에서의 CodecID를 통하여 해당 정수를 캐스팅 해 준다.

5.      Snprintf _snprintf로 변경 해 준다.


제가 프로젝트를 작성하면서 제작한 메뉴얼을 4단계로 나누어서 이렇게 올려보았습니다 ^^; 막막한 프로그래밍에 한줄기 빛이 되시길 희망합니다 ^^ 그럼 다들 즐프~

신고
    이전 댓글 더보기
  1. Nigeria Directory 2012.03.28 03:47 신고 수정/삭제 댓글에댓글달기

    Due to Nigeria Directory today I can to detect the firm I look for in minutes.

  2. debt management company 2012.04.04 23:40 신고 수정/삭제 댓글에댓글달기

    This debt management company will handle your present debt position directly.

  3. Yosemite cabins 2012.04.11 02:57 신고 수정/삭제 댓글에댓글달기

    Whenever my friends and I are dead beat cuz of spending lots of time in the large metropolis, we rent Yosemite cabins for several days so as to pick ourselves up.

  4. Junior Golf Tour 2012.04.12 01:56 신고 수정/삭제 댓글에댓글달기

    The Rocky Mountain Junior Golf Tour struggles to supply younger golf players with good tournaments conducted in a prudent mode.

  5. Chimney Sweep Des Moines 2012.04.12 02:07 신고 수정/삭제 댓글에댓글달기

    The Chimney Sweep Des Moines specialists will do all of your required servicing, thereby preventing you from the detriments of a chimney fire.

  6. Denver Carpet Cleaning 2012.04.12 02:19 신고 수정/삭제 댓글에댓글달기

    Denver Carpet Cleaning experts will do everything in their power to get rid of blood splotches straight away.

  7. Colorado junior golf association 2012.04.12 03:41 신고 수정/삭제 댓글에댓글달기

    Colorado junior golf association offers each and every sharer to take part in effectively organized tourneys.

  8. Denver Air Duct Cleaning 2012.04.12 03:41 신고 수정/삭제 댓글에댓글달기

    Denver Air Duct Cleaning duty won’t take much of your time and is effectively sanitary and routine procedure.

  9. Chimney Cleaning Des Moines 2012.04.12 03:42 신고 수정/삭제 댓글에댓글달기

    The Chimney Cleaning Des Moines craftsmen are in place to take the crucial measures to reduce the chimney emergencies presently.

  10. Colorado springs 2012.04.12 05:46 신고 수정/삭제 댓글에댓글달기

    Colorado springs carpet restoration organization will happily make your nappy floor coverings coruscate like new ones.

  11. Air Duct Cleaning Des Moines 2012.04.12 06:15 신고 수정/삭제 댓글에댓글달기

    This Air Duct Cleaning Des Moines will help you destroy all the aeronautical germs which are slipping all around the building.

  12. Denver chimney sweep 2012.04.13 03:05 신고 수정/삭제 댓글에댓글달기

    Denver chimney sweep will make your cozy furnace area a safe corner for meditation and rest.

  13. Carpet cleaning Phoenix 2012.04.13 03:05 신고 수정/삭제 댓글에댓글달기

    The Carpet cleaning Phoenix organization will help you to effortlessly get rid of ingrained dust and dirt improving good life circumstances.

  14. carpet cleaning Phoenix AZ 2012.04.13 04:41 신고 수정/삭제 댓글에댓글달기

    The out-of-doors games you enjoy require professional services of carpet cleaning Phoenix AZ company in order to stimulate the investment you made in your dwelling.

  15. Travel planning 2012.04.24 04:35 신고 수정/삭제 댓글에댓글달기

    Travel planning will be less problematic due to information you can find on this website.

  16. song contest 2012.04.24 23:34 신고 수정/삭제 댓글에댓글달기

    Thank you for the chance of competing in the online song contest as it's the best way for the begginers of making sure their skills.

  17. satellite Internet 2012.04.28 22:55 신고 수정/삭제 댓글에댓글달기

    I am more than satisfied with the rates for the satellite Internet offered by this provider.

  18. heating 2012.05.09 00:13 신고 수정/삭제 댓글에댓글달기

    I've cooperated with a lot of companies that propose heating or air conditioning services, and may tell with the whole confidence that on this web page you'll find the most reasonable options.

  19. office supplies 2012.05.14 23:01 신고 수정/삭제 댓글에댓글달기

    If you do not have a clue where to order office supplies, visit this website. They offer not only affordable rates but immediate delivery, as well.

  20. body detoxification and rejuvenation 2012.05.14 23:02 신고 수정/삭제 댓글에댓글달기

    I'm planning to have my R and R in India and for certain visit your center. I have heard a lot about your body detoxification and rejuvenation cure and desire to undergo it too.









이제 라이브러리도 다 설치가 완료되었으니 FFMPEG을 configure 해봅시다! +_+

1.      FFMPeg 설치

     shared (dll 생성) 컴파일시 visual studio 경로 지정 필요(중요함)

                         i.         cd /c/msys 경로 이동

                        ii.         vi msys.bat

                       iii.         첫줄에 call "경로"          ex 비주얼 스튜디오 6.0의 경우) call "c:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVAR32.BAT"

     FFMpeg 설치

                         i.         Cd /c/ffmpeg

                        ii.         ./configure --enable-shared --disable-static --enable-libmp3lame --enable-libogg

--enable-libvorbis --enable-libxvid --enable-gpl --enable-memalign-hack

--extra-cflags=-l/local/include --extra-ldflags=-L/local/lib

                       iii.         Make

                       iv.         make install

     패스 설정 (안해주면 xvidcore.dll 찾지 못함)

                         i.         Cd /c/msys/etc

                        ii.         Vi profile

                       iii.         Path /mingw/lib 추가

     inttype 헤더파일 추가

                         i.         inttypes.h , stdint.h 다운로드후 c:\msys\local\include에 복사



VS에서 DLL을 첨부해서 사용해야 하기에 shared 옵션은 매우 중요합니다 +_+
이를 위해 경로 설정이 필요한데 1번 과정의 call "경로" 틀리시면 컴파일 하는도중 오류가 발생합니다 -0-

자 그럼 이제 테스트를 해 봅시다.

1.      SDL 추가(ver. 1.2.11) -> ffplay 사용위해 설치 필요없을시 설치 필요 없음

     다운로드 후 압축해제 후 c:\msys\local에 복사

2.      FFMPEG 테스트

     ffmpeg -i test1.asf -ar 22050 -s 480x360 -r 800 -f flv test2.flv

     되면 FFMPEG 설치 완료


asf파일을 하나 구하셔서 test1으로 이름을 변경하시고 하세요! test2.flv가 생성되었다면 성공적으로 설치가 되신겁니다 ^^ 안되신다면....중간에 어떤 문제가 발생하신 겁니다 -0-



신고
  1. vcchars32.bat 2010.02.08 19:12 신고 수정/삭제 댓글에댓글달기

    vcchars32.bat









FFMPEG configure 옵션에 사용될 라이브러리 설치 목록 및 설치 방법 입니다 ^^
더 필요하신 옵션 목록이 있으시면 추가하셔도 되구요~ 아래 목록 순서대로 설치 하시지 않을 경우 간간히 에러가 날때도 ㅡㅡㅋ 왜 그런지는 각자 파악하세요 ㅋㅋ

1.      Ffmpeg 옵션에 사용할 라이브러리 설치 (2007.7.20일 설치 시 버전 기준)

     Directx 헤더 설치 (ver.7)

                         i.         Tar –xvzf dx7headers…

                        ii.         Mv *.h c:/mingw/include

     Nasm 설치 (ver. 0.99.01)

                         i.         Tar xvzf nasm…

                        ii.         ./configure –prefix=c:/mingw

                       iii.         make

                       iv.         make install

     libiconv 설치 (ver. 1.11)

                         i.         tar xvfz libiconv...

                        ii.         ./configure --prefix=c:/mingw --disable-shared

                       iii.         Make

                       iv.         make install

     freetype2 설치 (ver.2.3.5)

                         i.         tar xvfz freetype-2...

                        ii.         ./configure --prefix=c:/mingw --disable-shared

                       iii.         Make

                       iv.         make install

     zlib 설치 (ver. 1.2.3)

                         i.         tar xvzf zlib...

                        ii.         ./configure --prefix=c:/mingw

                       iii.         Make

                       iv.         make install

     lame 설치 (ver. 3.97)

                         i.         tar xvzf lame...

                        ii.         ./configure --prefix=c:/mingw --disable-shared --disable-decoder

                       iii.         Make

                       iv.         Make install

     ogg 설치 (ver. 1.1.3)

                         i.         tar zxvf libogg...

                        ii.         ./configure --prefix=c:/mingw --disable-shared

                       iii.         Make

                       iv.         make install

     vorbis 설치 (ver. 1.1.2)

                         i.         tar zxvf libvorbis...

                        ii.         ./configure --prefix=c:/mingw --disable-shared

                       iii.         Make

                       iv.         make install

     libdts 설치 (ver. 0.0.2) -> ffmpeg 최신버전에 포함, dts의 최신버전 필요시 설치

                         i.         tar zxvf libdts...

                        ii.         ./configure --prefix=c:/mingw --disable-shared

                       iii.         Make

                       iv.         Make install

     gsm, faac, faad2, libdca 설치 (최신 버전으로)

                         i.         bunzip2 ..

                        ii.         tar xvf ...

                       iii.         /usr 폴더 안의 모든 파일 c:/mingw 로 이동

     x264 설치(안됨) dct-a.asm 오류

                         i.         ./configure --prefix=c:/mingw

                        ii.         64비트 지원 안된다고 하는데... 뭔소린지 도통 알 수 없음..

                       iii.         X264 mpeg관련하여 지원하는 것이 많으니 될 수 있다면 설치 바람.

                       iv.         일단 문제 없이 변환 잘됨.

     xvid 설치 (ver. 1.1.3)

                         i.         cd xvid.../build/generic

                        ii.         tar xvzf xvidcore...

                       iii.         ./configure --prefix=c:/mingw --disable-shared

                       iv.         Make

                        v.         Make install

     codecs 설치 (ver. 20061022)-> mplayer에 필요

                         i.         tar xvf essen....

                        ii.         mv *.* c:/mingw/lib/codecs (경로 필요)

     MPlayer 설치 (ver. 1.0rc1) 플레이어 필요시 설치

                         i.         tar xvf MPlayer...

                        ii.         ./configure --with-codecsdir=c:/mingw/lib/codecs

                       iii.         --enable-static --enable-win32 --disable-winsock2

                       iv.         Make

                        v.         Make install

자자 요기 까지 하셨으면, 이제 FFMPEG을 설치해 봅시다.(다음장에서..)

신고
  1. hot scene from bollywood 2008.03.13 06:04 신고 수정/삭제 댓글에댓글달기

    친구는 너의 위치의 현재 팬이 되었다!

  2. sexy nude mothers 2008.05.23 05:10 신고 수정/삭제 댓글에댓글달기

    일! 우수한 감사!









VA Converter(Video and Audio Converter)를 이번기회에 제작해 보았습니다.
말 그대로 Video Codec과 Audio Codec을 마음대로 변경하는 프로그램 입니다.
FFMPEG을 사용해서 윈도우즈에서 컴파일 하여 사용 하였습니다.

-FFMPEG 윈도우즈 컴파일 환경 만들기-

1.      MinGW Msys and MsysDTK 설치

     http://www.mingw.org를 통해 MinGW, Msys, MsysDTK를 다운받는다.

     MinGW를 설치한다. (설치 경로 c:\mingw)

     Msys를 설치한다. (설치 경로 c:\msys)

     Msys 설치 중 MinGW가 설치 되어 있는지 확인 (MinGW가 설치된 경로를 입력)

     MsysDTK를 설치한다. (설치 경로 C:\msysdtk)

     Msys를 구동하여 cd /c/msys/etc로 이동

     Fstab를 수정 ( vi fstab) -> 첫 라인에 c:/mingw /mingw 추가 (패스 설정)

     Profile 수정 (vi profile) -> export PATH=”/msysdtk/bin:$PATH” 추가 (패스 설정)

2.      TortoiseSVN 설치 후 ffmpeg 다운

     설치 후 C:\FFMPEG 폴더를 생성

     C:\FFMPEG 폴더로 이동후 마우스 우 클릭 SVN Checkout 클릭

     URL of repository svn://svn.mplayerhq.hu/ffmpeg/trunk 입력 -> 확인

이렇게 우선 윈도우즈에 가상 리눅스 환경을 만들어 줍니다 ^^
FFMPEG 을 configure 에 사용할 옵션을 위해 라이브러리를 설치해 주셔야 하는데요
다음장을 확인해 주세요!

신고
  1. frases celebres vida 2008.03.13 05:54 신고 수정/삭제 댓글에댓글달기

    좋은 위치는 그것 찾아본 즐겼다!









▣  나만의 TOP10 LIST - Top10 LIST - 2007.04.13 22:37

 
   
  < 지금의 내가 있게된 TOP-10 LIST >


1. 지금의 내가 '컴퓨터를 전공'하게 된 계기
- 초등학교 3학년 10살 무렵 컴퓨터를 할 수 있는 기회를 맞이하게 되었다. 그당시 컴퓨터는 MS-DOS를 운영체제로 사용하고 있었다. 컴퓨터를 처음 접하게 된 나는 무언가 일어나길 바랬고, 화면에 깜박거리는 커서만을 눈이 빠져라 쳐다 보게되었다. 10분간을 가만히 앉아 기다리던 나는 답답한마음과 호기심에 키보드를 눌러보게 되었고, 아니 이게 왠일 무언가 화면에 찍히기 시작한 것이다. 너무너무 신기하게 느껴진 나는 그때는 몰랐지만 그것이 도스라는것을 알게 되었고 명령어를 통해 컴퓨터를 조작한다는 사실을 알게 되었다.   그 사건이 있은 후 나의 꿈은 컴퓨터 프로그래머로 굳어졌고, 그 바램은 지금도 계속되고 있다.

2. 내가 '일을 처리하는 방법'을 배우게 된 계기 
-  중학교 시절 지금도 내가 일을 처리함에 있어 방법을 일깨워주신 은사님이 한분 계시다. 그분의 말씀인 즉, " 커다란 빈비커와 큰자갈이 가득찬 비커, 조약돌이 가득찬 비커, 모래가 가득찬 비커, 물이 가득찬 비커가 있을때, 빈비커에 모든것을 담기 위해 큰것부터 담지 않으면 절대로 다 처리하지 못한다"라고 말해준적이 있다. 어떠한 일을 처리할때 두서없이 진행하거나 닥치는 대로 진행하여 일을 처리하게 되면 결국 일을 끝까지 다 처리 하지 못한다는 비유를 해 주신것이다. 지금의 내가 어떠한 일을 맞닥드리게 되면 가장먼저 급하다고 생각하는 큰일을 처리하고 이후 작은것 순으로 처리하는 습관을 가지게 되었다.

3. 나를 믿어주시고 항상 함께 해주신 '부모님'
-  생물학적인 의미가 아니라, 정말 나의 부모님들은 내가 힘들거나, 괴롭거나, 슬프거나, 기쁘거나 항상 함께 해 주셨던 분들이시다. 내가 잘못을 하면 꾸짖어 주셔 바른길로 나아가게 해주시고, 실망을 안겨드려도 다시 나를 믿어주시는 나의 부모님들.... 정말 감사하고 또 감사드리고 싶다. 26년의 인생을 살아오며, 군대간 2년을 제외하고 항상 함께 해주시며 지금의 나를 있게 해주신 부모님께 감사드린다.

4. Leaders and party
- 과연 혼자서 살아갈 수 있는 사람이 있을까?
사회의 어디에서든 사람은 혼자 살아갈 수 없으며 늘 함께하고 때로는 이끌어 가는 삶을 살아가야 할 것이다. 처음으로 리더가 된것은 고등학교때 일이다. 학생회에 들어가 여러 사람들을 인솔하고 때로는 동료들과 협력하여 일을 처리하여 왔다. 군대에서도 그랬고 현재도 그렇다. 사람에게 있어 협동과 리더쉽은 필수 불가결의 요소라는 것을 현재의 삶속에서 늘 배우고 있다.

5. 나에게 있어 '책'은
- 교양, 일반상식, 전공지식, 따뜻한 마음, 삶의 자세, 자신의 목표 이러한 것의 최초 발생지는 책이 아닐까 생각한다. 물론 지금에 와서 이핑계 저핑계로 책을 자주 접하는 것은 아니다. 하지만 늘 함께 하고 있는 것 또한 책이다. 책이란 것은 지식의 축적이며, 역사의 축적이며, 모든 경험의 축적이다. 책은 시간을 뛰어넘고 거리를 뛰어넘어 나에게 와 닿을수 있는 매체이다.

6. '술' 그것은 바로 사귐의 시작이다.
-  물론 내가 술을 잘 먹지는 못한다. 하지만 술은 내가 서먹하게 생각하는 사람들과 친해지게 해주는 매개체 중에 하나이다. 물론, 술이 아닌 다른것들을 통해 충분히 사귐을 시작할 수 있지만, 술을 통해 하룻밤사이에 더없는 친구가 되는것은 모두가 아는 사실이 아닌가! 하지만 이는 나를 스스로 조절할 줄 안다는 전제 조건이 있어야 하며, 자제력에 대해서는 자신있다고 생각하기에 나는 술이 좋다.

7. '여행' 그것은 바로 새로운 지식을 찾게 되는 계기이다.
- 나는 여행을 좋아한다. 혼자하는 여행, 누군가가 같이 하는 여행, 단체 여행 어떠한 여행이든 나는 좋아한다. 물론 이것은 놀기 좋아한다는 것과는 의미가 다를것이다.
 여행을 통해 나는 많은 것을 얻었고 새로운 것을 발견한다. 여행을 통해 많은 친구들을 사귀고 이방의 누군가와 대화할 수 있으며, 책이나 TV를 통해 또는 인터넷을 통해 보던것을 눈으로 확인하며 사실을 확인한다. 여행을 통해 얻는 이득은 이밖에도 내가 인지 못하는 많은 요소들이 분명히 있을것이다.

8. '교직이수'가 나에게 준 영향
-
지금 나는 교직을 이수 하고 있다. 물론 반드시 선생님이 되겠다는 자세로 교직을 이수 하고 있는 것은 아니다. 교직을 통해 나는 많은 것을 얻는다. 그중 하나는 역사이다. 사람이 사람을 가르치는 일의 변천 과정을 아는가? 이를 알고 있는 사람이라면 어떠한 학습이 효과적으로 와닿을 수 있는지를 아는 사람이라 생각하고, 이것 하나만으로도 교직이라는 것은 나에게 있어 꽤 훌륭한 도움이 되었다고 생각한다.
 사람이 사람을 가르치는 일은 무엇보다 중요하다. 남을 가르치기 위해서는 남들보다 우수하지 않으면 안되고, 남들보다 노력하지 않으면 안된다. 나는 교직을 통해 학습방법을 배웠고, 노력하는 자세를 배웠으며, 지금의 멘토링을 통해 후배들을 가르치는을 배웠다.

9. 첫번째 수석은 나의 '자신감'을 깨우쳐 줬다.
-
중고등학교 시절 늘 남들보다 한걸음 뒤에서 따라만 다녔다. 대학에 와서도 늘 누군가의 그늘에 가려져 있었으며, 그저그런놈으로 밖에 평가 되지 않은 나 자신이었다. 노력을 해도 어중간한 결과만을 얻는 자신을 보게 되었고 자신감없는 나 자신을 만들어 갔었다. 하지만, 노력이란건 정말 무서운 것이다. 나도 내 스스로가 이렇게 될 수 있을 줄은 꿈에도 몰랐었다. 대학생활 처음으로 과 수석을 해보았다. 이러한 경험은 나도 노력하면 된다는 자신감을 일깨워 주는 계기가 되었고, 더욱 노력하는 내 자신을 만들어 주는 계기가 되었다.

10. 나의 '친구'들은 나의 날개이다.
- 나에게는 더 없이 소중한 친구들이 있다. 이미 20년 된 친구도 있으며, 20년 까지는 안되었어도 오래된 친구들 그리고 대학교에 들어와 사귀게 된 친구들 이 친구들이 없었다면 지금의 나도 없다고 생각한다. 힘들때 함께 해주는 친구들... 기쁠때도 함께 해주는 친구들...
어려운 일이 있으면 멀리서도 달려와 함께 해주는 친구들... 이 친구들을 통해 나는 많은 웃음과 많은 눈물을 흘렸다. 물론 감동의 눈물이다. 벗이란 소중하다. 나를 비상하게 해주는 큰 요소중에 하나는 바로 친구가 아닐까 생각된다.
신고
TAG MSP








1주차 멘토링을 시작!
C언어를 모르는 후배들에게 이게 이렇게 이해 시키기 어려울줄은 몰랐다 ㅡ.,ㅡㅋ
1주차 내용은 바로 제어문!
조건문(if-else,switch-case), 다중 조건문
반복문(for,while,do-while)+continue,break
1주차 내용이다.....아는사람은 쉽지만....모르는 사람이 이해하기란 쉬운게 아니였나보다..
강의중 나온 scanf("%*c%c",&.......)
%*c 순간 당황했다 ㅡㅡㅋ 저런게 책에도 나오는구나....
ABC에서는 못본거 같았는데 Practical C Programming에서 저 구문이 나왔다 ㄷㄷㄷ
아무튼 저 연산자에 대해 설명하자면......한문자 무시! 이다.
예를들어 ab를 입력하게 되면 a는 무시되고 b가 할당된다는 거다!

자 그럼 제어문을 통해 낸 과제는 바로~~~~
1. 삼각형 세변의 길이를 정수로 입력 받아 삼각형의 종류를 판단하는 프로그램을 작성하시오.

2. 1byte char를 입력받아 이것이 영문 소문자 이면 "소문자 입니다!" 대문자 이면 "대문자 입니다!"
    그 밖의 경우이면 ASCII코드로 출력하시오.

3. 정수의 범위를 000~127로 입력 받아 해당하는 ASCII 코드의 문자를 출력하시오.

4. 1에서 9사이의 10개의 정수를 입력받아 같은 수가 연속되어져 나오는 경우 연속 되어져 나온 수에 해당하는 경우가 몇번 있는지 출력하시오.
(출력은 2회~10회에 해당하는 몇번의 경우가 있는지 출력할것)

5. 1에서 100까지의 정수를 입력 받아 홀수인지 짝수 인지 판별하고 그 밖의 경우이면 잘못된 숫자라는 메시지를 출력하고 종료하는 프로그램을 작성하시오.

6. 0에서 100까지의 정수를 입력 받아 90점 이상 A, 80점~89점상  B, 70점~79점 C, 60점~69점 D
   60점 미만이면 F로 출력하는 프로그램을 만들고 각각의 결과가 출력 형태의 type을 바꾸어 컴파일 해보고
   어떻게 나오는지 작성하시오.

7. 문자를 입력받아 정수로 출력하고 더 출력을 원하면 다시 입력을 받고 원하지 않을시 종료하는 프로그램을 작성하시오.

2학년들 고생하여라 흐흐흐

신고
  1. 容虎 2007.04.07 02:50 신고 수정/삭제 댓글에댓글달기

    ㅋㅋㅋㅋ 고생하여라 ㅋㅋㅋ

  2. low price airline ticket 2008.03.13 05:41 신고 수정/삭제 댓글에댓글달기

    그런 경이롭 위치를 위해 많게의 감사!

  3. 쭈농 2008.08.22 17:53 신고 수정/삭제 댓글에댓글달기

    잔인한넘..ㅋ









출제 의도 :
1,2번문제의 출제의도는 바로 학생들의 자료형의 이해이다. char형이 1byte 문자형으로 보통 알고 있다. 그렇다면 과연 char형은 문자밖에 받지 못할까????? 전혀 그렇지 않다 ㅡㅡ
단지 0과1의 조합을 통한 ascii코드의 표현을 통해 영문자+특수문자+숫자 등을 다 표기해봐야 7bit면 표현이 가능하기에 1byte형의 문자형으로 표현한것 뿐!
즉 char형, int 형이 문자형이다 정수형이다의 개념에서 벗어나 단지 bit를 가지고 컨트롤 할수 있는 능력을 알아보기 위한 의도의 문제이다.
3번 또한 마찬가지 float형을 사용하여 과연 실수형을 표현할수 있는가를 중점에 두었다.
4번은 가장 기본적인 조건분기문을 효율적으로 사용할 수 있는가에 대한 확인을 위해 출제 하였다.
당연히 아래문제는 기초중에서도 기초이며 그 기초안에서 또 기초적인 문제다 ㅡㅡ
하지만.......틀린 애들도 많다 ㅠㅠ 괴롭다.... 아무리 2학년이고 c를 이제 처음 시작했다지만..... 음..... 개인적인 공부를 하는 애들이 없는것 같다.... 이번학이 안에 11명 모두 c를 마스터 하게 만들겠다 +_+ 반드시 흐흐흐흐

1. C의 자료형 중, char type과 int type의 차이점과 특징을 아는데로 모두 기술하시오

2. 다음 프로그램의 연산 결과는 20이다. 20이 되는 이유를 자료형과 표현범위에 관계하여 설명하시오.
#include <stdio.h>

void main(void)
{
char a = 10;
int b = 10;
printf("%d", a+b);
}

3. 정수를 하나 입력 받고, 해당 정수를 반지름으로 하는 원의 넓이를 구하는 프로그램을 작성하시오(단, 파이는 3.14로 간주하고 사용자는 무조건 양의 정수만 입력한다고 가정)

4. 정수를 하나 입력 받아, 절대값을 구하는 프로그램을 작성하라.
(사용자는 정수만 입력한다고 가정)

신고
  1. crazy cum teen 2008.03.13 06:08 신고 수정/삭제 댓글에댓글달기

    나는 너에 합의한다 이다. 그것은 이렇게 이다.

  2. ass teen 2008.05.23 04:18 신고 수정/삭제 댓글에댓글달기

    관심을 끌. 너가 좋을 동일할 지점을.

  3. lady wrestling in england 2008.05.23 04:52 신고 수정/삭제 댓글에댓글달기

    걸출한 디자인! 좋은 디자인.









왜....DOT NET 2005에서 한글 영문 다 깨져서 나온단 말인가 ㅠㅠ
비밀은 바로 유니코드~~~
인터넷상에서 받아온 ANSI코드를 출력하기 위해 유니코드로 변환하는거....별로 어렵지 않으나 아는게 있어야 변환을 할것 아닌가 ㅠㅠ 무쟈게 고생했다 ㅠㅠ
변환 과정은 다음과 같다.

CInternetFile 에 웹상에서 받아온 html 코드를 저장한다.
-> CString에 담는다.
-> LPCSTR로 변환하여 저장한다.
-> MultiByteToWideChar을 통하여 COM 라이브러리의 LPOLESTR로 변환하여 저장한다.
-> wstring 형식에 저장한다.

이렇게 하여 웹상에서 받아온 코드를 텍스트 영역과 태그 영역으로 분리하여 출력한 결과
안 깨지고 잘 나온다 ^^~ 감동!
이제......랜더링을 위해 다시 고고싱~

신고
  1. black sexy calendar male 2008.03.13 05:49 신고 수정/삭제 댓글에댓글달기

    위치에 중대한 일은 그것을 좋아했다!









아 정말...무슨놈의 데이터 형식이 이다지도 많은지 ㅠㅠ 정말 울고싶군요
그래서 깔끔하게 한번 정리해 봅니다 +_+
보면........토나온다 ㅡㅡ
ATOM      -> typedef WORD ATOM;
BOOL      -> typedef int BOOL;
BOOLEAN   -> typedef BYTE BOOLEAN;
BYTE      -> typedef unsigned char BYTE;
_stdcall  -> #define CALLBACK __stdcall
COLORREF  -> typedef DWORD COLORREF;
DWORD     -> typedef unsigned long DWORD;
DWORDLONG -> typedef ULONGLONG DWORDLONG;
DWORD_PTR -> typedef ULONG_PTR DWORD_PTR;
DWORD32   -> typedef unsigned int DWORD32;
HALF_PTR  -> #ifdef _WIN64
              typedef int HALF_PTR;
             #else
              typedef short HALF_PTR;
             #endif
HANDLE    -> typedef PVOID HANDLE;
HBITMAP   -> typedef HANDLE HBITMAP;
HBRUSH    -> typedef HANDLE HBRUSH;
HCONV     -> typedef HANDLE HCONV;
HCONVLIST	 -> typedef HANDLE HCONVLIST;
HCURSOR	 -> typedef HICON HCURSOR;
HDC       -> typedef HANDLE HDC;
HDDEDATA	 -> typedef HANDLE HDDEDATA;
HDESK	 -> typedef HANDLE HDESK;
HDROP	 -> typedef HANDLE HDROP;
HDWP      -> typedef HANDLE HDWP;
HFILE     -> typedef int HFILE;
HFONT     -> typedef HANDLE HFONT;
HGDIOBJ   -> typedef HANDLE HGDIOBJ;
HGLOBAL   -> typedef HANDLE HGLOBAL;
HHOOK     -> typedef HANDLE HHOOK;
HINSTANCE -> typedef HANDLE HINSTANCE;
HKEY      -> typedef HANDLE HKEY;
HRESULT   -> typedef LONG HRESULT;
HWND      -> typedef HANDLE HWND;
INT32 -> typedef signed int INT32;
LANGID    -> typedef WORD LANGID;
LCID      -> typedef DWORD LCID;
LCTYPE    -> typedef DWORD LCTYPE;
LGRPID    -> typedef DWORD LGRPID;
LPDWORD   -> typedef DWORD *LPDWORD;
PCHAR     -> typedef CHAR *PCHAR;
PDWORD    -> typedef DWORD *PDWORD;
PFLOAT    -> typedef FLOAT *PFLOAT;
PINT      -> typedef int *PINT;
PSIZE_T   -> typedef SIZE_T *PSIZE_T;
PSTR      -> typedef CHAR *PSTR;
PWCHAR    -> typedef WCHAR *PWCHAR;
PWSTR     -> typedef WCHAR *PWSTR;
TCHAR     -> #ifdef UNICODE
              typedef WCHAR TCHAR;
             #else
	     typedef char TCHAR;
	    #endif
TBYTE     -> #ifdef UNICODE
   	     typedef WCHAR TBYTE;
	    #else
	     typedef unsigned char TBYTE;
 	    #endif
WCHAR     -> typedef wchar_t WCHAR;
WORD      -> typedef unsigned short WORD;
...
다 적은것도 아니다 ㅡㅡ; 일부만 적었을 뿐.....하지만.....








뭐가 이다지도 많은지 ㅠㅠ 젝일이다.....다들 힘내시길



신고
TAG C++, datatype








▣  MsHtml이란? - 프로그래밍/MFC - 2007.03.17 16:47
현재 MFC CFormView 기반을 통해 웹브라우저 제작중에 있습니다.
현재 이 웹브라우저를 제작하기 위하여 파싱과 랜더링을 위하여 MsHtml을 사용하고 있습니다.
그렇다면 MsHtml이란 무엇일까요?
MsHtml은 HTML을 구조적으로 설계한 COM 인터페이스 모음입니다.
즉 익스플로러에서 파싱과 렌더링을 담당하는 것입니다. 익스플로러의 하부에는 MsHtml이 자리를 차지하고 있습니다.
이러한 MsHtml을 원활하게 다루기 위해서는 COM과 ATL에 대한 지식이 필요합니다.
물론 MFC의 Active x를 통하여 쉽게 html을 뷰영역에 출력할수도 있고 CHtmlView로 View 영역의 기본클래스로 사용시 즉시 렌더링을 시킬수도 있습니다.
하지만 웹브라우저의 기본개념인 html 코드의 파싱과 랜더링 작업을 배워가는것이 더 바람직하지 않을까요 ^^
단순히 프로그램을 만드는것이 아니라 공부를 위한 목적이라면 Active x를 사용하는 것이 아닌 MsHtml을 통해 한번쯤 제작해 봄이 바람직하지 않을까 생각됩니다.
신고
TAG C++, MFC, MSHMLT
  1. Manila flights from UK 2012.08.01 19:13 신고 수정/삭제 댓글에댓글달기

    나는이 책을 내 친구들에게 추천해드립니다. 나는 그들이 누구보다도 여기에 새로운 것들을 많이 배울 상당히 확신합니다!










articles
recent replies
  • I'm planning..
        by body detoxification and rejuvenation 2012
recent trackbacks
notice
Admin : New post
BLOG main image
프로그래밍 정보 공유를 목적으로 하는 블로그입니다.
2 31,577
  rss skin by  m22m
tistory 티스토리 가입하기!

티스토리 툴바