2009-06-11 6 views
4

몇 가지 간단한 수학을 수행하는 매우 가벼운 프로그램 (8Kb 이하로 만들려고 노력하는)을 작성해야합니다. 언어 또한 플랫폼에 독립적이어야합니다. 어떤 언어가 효과가 있다고 생각하십니까? (아, 그리고 더 프레임 워크는 허용되지 않습니다.)플랫폼 독립적 인 경량 프로그래밍 언어

+5

어떻게 것 프로그램 :-) JVM이 포함되지 않습니다 물론

http://www.java4k.com/

달릴거야? 독립 실행 형, 브라우저에서 명령 줄? 사용자에게 배포 되나요, 아니면 컴퓨터에서 실행됩니까? – Billy

답변

7

물론 각 플랫폼에 대해 별도로 컴파일해야하지만 그 외에는 매우 가볍고 플랫폼 독립적 (또는 멀티 플랫폼, 선호하는 식)으로되어 있습니다.

+0

컴파일러에주의하십시오. 일부 (대부분?)는 방대한 실행 파일을 생성합니다 (비교적). –

+0

그는 간단한 수학과 Linux/Windows를 목표로 삼고 있습니다. 윈도우즈에서 무슨 일이 일어날 지 모르지만 리눅스에서는 깨지지 않는 컴파일러를 상상할 수 없다. 150-200 라인 이하의 무의미한 C 코드로 8KB 바이너리를 짤 수 없다. 바이너리를 제거하십시오. –

+0

거기에는 여러 가지 컴파일러가 있지만 확실히이 점에서 대부분이 적당하다고 생각합니다. C는 본질적으로 사람이 읽을 수있는 어셈블리 언어가 아닙니다. 실제로 실행 파일 크기는 주로 정적으로 링크 된 라이브러리에 의해 결정됩니다. 만약 당신이 그런 것을 사용하지 않는다면 컴파일러가 실행 파일을 거대하게 만들 수있는 다른 방법이 있을까요? 물론 C++은 완전히 다른 동물입니다. –

1

C 또는 어셈블리 (각 플랫폼에 대해 컴파일해야하지만)

TCL은 크로스 플랫폼 (그것이 얼마나 경량 확실하지)

의 스크립트 언어이다

자바를 제안하지만 VM이 사용자의 크기 요구 사항을 괴롭히는 경우

+1

어셈블리는 매우 플랫폼에 따라 달라집니다. –

+1

확실하지만 8k는 꽤 낮은 한계이므로 그에게 옵션을 제공합니다. – Glen

+0

모든 것이 필요한 경우 간단한 수학 (기본적으로 라이브러리, I/O 등을 의미하지 않음), C 가야할 길입니다. – Zarkonnen

3

브라우저 기반 JavaScript를 원하지 않습니까? 경량이며 브라우저를 통해 거의 모든 플랫폼에서 실행됩니다.

+0

좋은 전화 - 나는 그것을 놓쳤다. 그리고 그것은 정말로 명백했다! –

+0

오류, 프레임 워크를 허용하지 않는다고 쓰지 않았습니까? 웹 브라우저가 프레임 워크가 아닌 경우 무엇인지 모르겠습니다. –

+0

아니, 거기 갈 수 없어. 나는 사실 웹 디자이너이기 때문에 처음 생각한 것입니다. –

3

Lua은 크로스 플랫폼이며 매우 가벼운 무게입니다.

+0

가볍지 만 가벼운 것은 아닙니다. 그것은 50k 바이너리입니다 - 당신이 필요로하지 않는 것을 제거함으로써 해킹 당할 수는 있습니다. – SpliFF

0

프레임 워크가 무슨 뜻인지 잘 모르시겠습니까 ??

파이썬

왜?

  1. 내 Linux 배포판, OSX에 설치되며 Windows에서 기본 실행 파일로 패키지화 할 수 있습니다. 즉, 앱 사용자는 아무 것도 설치할 필요가 없습니다.
  2. 정말 배우기 쉽습니다.
+0

windows는 python과 함께 제공되지 않으므로 py 스크립트가 <8kb 인 경우에도 전체 내용은 몇 MB가됩니다. – sqram

+0

아 사실 그 생각하지 않았다. –

4

프로그램 타겟팅은 어떤 플랫폼입니까?

  • 프로그램 8킬로바이트 아래에 있어야합니다 :

    지금까지, 우리는 다음과 같은 요구 사항이 있습니다.

  • 플랫폼에 독립적이어야합니다.
  • 허용되는 프레임 워크가 없습니다.

    • 가 8킬로바이트 프로그램은 스크립트 언어에 대한 스크립트가 될 수 :

    여기에 몇 가지 질문입니까?

  • 프로그램의 런타임 환경은 어느 정도입니까?
  • 프로그램이 고유 한 코드 여야합니까?
  • 코드를 실행할 대상 플랫폼은 무엇입니까?
  • 각 플랫폼의 코드를 교차 컴파일 할 수 있습니까?

내가 제시 한 질문은 바람직한 옵션에 영향을 미칩니다.프로그램이 런타임 환경에서 8 킬로바이트가되어야하는 경우, 대상 환경에 대해 컴파일하는 것 외에 다른 선택은별로 없습니다.

대상이 포함 된 장치이거나 x86이 아닌 경우에는 선택 사항이 더 제한 될 수 있습니다. Lua와 같은 작은 임베디드 langugages (C로 작성) 여전히 사용할 수 있지만, 스크립트를 실행하기 위해서는 상당히 큰 "런타임"이 필요합니다.

대상에 대한 크로스 컴파일이 옵션 인 경우 C로 프로그램을 작성하고 각 대상 플랫폼으로 컴파일하면 상당히 작은 네이티브 프로그램이 생성됩니다.

현재 요구 사항에 따라 포괄적 인 답변을 제시 할 때 몇 가지 질문이 있습니다. 그 외에도 할 수있는 최선의 방법은 바람직한 해결책으로 이어질 수도 있고 그렇지 않을 수도있는 옵션의 브레인 스토밍입니다.

+0

당신은 하나의 요구 사항을 놓쳤습니다. '프레임 워크 허용 안 됨'. 그래서 스크립팅 언어가 계산되지 않습니다. – fretje

+0

@fretje : 스크립팅 런타임을 "프레임 워크"로 간주 할 수는 없지만 추가 요구 사항이 언급되었으므로이를 답변에 추가하겠습니다. 그 점을 지적 해 주셔서 감사합니다! :) – coobird

+0

이 프로그램은 Linux와 Windows를 대상으로하고 있습니다. 다른 것을 타겟팅해야 할 것 같지 않습니다. 스크립팅 언어는 허용되지 않으며 실제로 프로그램은 독립형 실행 파일이어야합니다. 다른 질문에 대해 알아 보겠습니다. –

1

dc

그것은 기본적으로 과장된 계산기입니다하지만 12K까지 25K와 지퍼를합니다. 또한 일부 문자열 연산, 매크로 및 외부 프로세스를 실행합니다. 너 자신을 쓰지 않고는 훨씬 작게 찾을 수 없을 것이다. 소스 및 win32 바이너리를 사용할 수 있습니다.

0

Mozzila의 Bespin은 온라인 환경입니다. 정의 상 플랫폼에 독립적입니다. 시험해보십시오 https://bespin.mozilla.com/

3

Forth 은요?

+0

8K 이하에서 좋은 환경을 얻을 수 없다면 시도하지 않은 것입니다. :디 –

0

심지어 C는 런타임이 필요합니다. 이 질문에 대한 현실적인 대답은 dc 또는 C로 구현 된 스크립트를 실행하는 사용자 지정 계산기 일뿐입니다 (이러한 계산기는 부수 정밀도에 의존하지 않으면 dc보다 작을 수 있습니다).

0

당신은 자바 미만의 4K에 끝낼 수있는 방법을 많이 놀랄 것 :

관련 문제