.exe를 .com로 변환하십시오. MS-DOS 6을 다운로드하고 cmd에서 모든

최근에 랩톱에서 MS-DOS 6을 다운로드하고 cmd에서 모든 명령을 수행 할 수 있기를 원하지만 .exe를 .com으로 변환해야합니다. 이렇게하려면 모든 소프트웨어를 다운로드합니다.



답변

Methinks .com 및 .exe 확장의 의미에 대해 약간 혼란스러워합니다.

  • .com은 본질적으로 64K 이하의 크기 (실제로는 0xFF00 바이트, 65280, 기술적으로는 cmd 행과 물건에 대한 256 바이트 이후)로 제한된 메모리의 이미지입니다.
  • .exe는 링크 된 프로그램입니다 (실제 메모리 제한이 존재 함에도 불구하고 라이브러리 및 코드, 리소스 및 기타 등등의 일부로 구성되며 크기는 본질적으로 무제한입니다)

두 기능 모두 명령처럼 똑같이 잘 작동합니다. 실제로 DOS 하위 디렉토리에서 보면 .com 파일과 .exe 파일이 흩어져있는 것을 볼 수 있습니다. .com 파일 만 COMmands라고 생각하여이 문제를 혼동하지 마십시오. 그냥 명명 규칙.

MSDOS의 CP / M 뿌리와 관련이 있습니다. 프로그램 크기가 64k로 제한되어 있고 더 큰 프로그램이 스스로를 메모리로 페이징해야했기 때문에 … COMmands를 고려했습니다. 하지만 고맙게도 우리는 CP / M의 한계를 넘어 새로운 한계에 직면했습니다 …하지만 그것은 또 다른 이야기입니다.

잘하면이 도움이됩니다.


답변

다른 유형의 EXE 파일이 있습니다. 일부는 MS-DOS에서 실행될 수 있고 다른 일부는 Windows가 필요할 수 있습니다. MS-DOS에서 실행할 수있는 것은 변환 할 필요가 없습니다.

Windows 용으로 컴파일 된 EXE 파일은 명령 줄 인수를 받아들이고 콘솔 출력을 생성하더라도 DOS에서는 실행되지 않습니다. Windows 기능 및 API (응용 프로그램 프로그래밍 인터페이스)에 의존하여 올바르게 작동합니다.

DOS에서 Windows EXE 파일을 실행하려고하면 다음 메시지가 표시됩니다.

This program cannot be run in MS-DOS mode.

답변

다른 모든 대답은 좋다. DOS의 옛날 COM 실행 파일이 L1 캐시에로드되었다는 것을 알려주는 것이 좋을 것이다. DOS 시간에 멀티 태스킹에 가장 가까운 것이었다.

예 : Mouse.com이 캐시 메모리에로드되었으므로 실행중인 다른 모든 후속 프로그램이 마우스를 사용할 수있었습니다.

  • 386 프로세서가 16 ~ 64KB의 캐시를 지원할 수 있음

  • 486 프로세서의 경우 8KB 캐시가 CPU 다이에 직접 통합되었습니다. 이 캐시는 느린 마더 보드 또는 L2 (Level 2) 캐시와 구별하기 위해 레벨 1 또는 L1 캐시라고 불렀습니다. 이 마더 보드 캐시는 훨씬 더 크며 가장 일반적인 크기는 256KB입니다.

386, 486, 그리고 x86의 격동하는 시간 동안, 386 시대에 필요한 모든 COM을로드 할 수있는 충분한 L1 캐시가 없었기 때문에 마우스, 사운드, CDROM, MEMCACHE에 대해 생각해 보면 일부 DOS 게임이 486에서 올바르게 실행되지 않았습니다. 예를 들어 마우스로 게임을 즐기려면 사운드가없는 게임을 선택해야합니다.