C 프로그램 프로세서의 크기를 찾을 수

당신은 int를 사용하여 프로세서의 크기를 찾기 위해서, 근데 8 비트 컨트롤러에 대한 문자의 크기 / 프로세서이다.프로세서의 핀 다이어그램의 크기를 어떻게 찾을 수 있습니까 찾고 밖으로.

 
HAI echo47,

모든 자동 변수가 정적을 제외한 세그먼트를 스택에 저장됩니다.정적 변수의 데이터 세그먼트에 저장되어있습니다.난 이미 컴파일러의 크기를 찾는 두 가지 방법을 제출했다.하지만 cksivaram 그래서 난 어떤 명령지만 대답도 올바른 기본 사용하지 않은 프로그램을 물었다.추가 13 분 후 :하이 cksivaram,

지금은 내가 준 프로그램까지 모두 어느 컴파일러를 찾는 거죠?프로세서없습니다.내가 프로세서 노력하고 있어요.곧 보내드리겠습니다.

 
sureshreddy 썼습니다 :

HAI echo47,모든 자동 변수가 정적을 제외한 세그먼트를 스택에 저장됩니다.
정적 변수의 데이터 세그먼트에 저장되어있습니다.
난 이미 컴파일러의 크기를 찾는 두 가지 방법을 제출했다.
하지만 cksivaram 그래서 난 어떤 명령지만 대답도 올바른 기본 사용하지 않은 프로그램을 물었다.
추가 13 분 후 :
하이 cksivaram,지금은 내가 준 프로그램까지 모두 어느 컴파일러를 찾는 거죠?
프로세서없습니다.
내가 프로세서 노력하고 있어요.
곧 보내드리겠습니다.
 
은 C 표준 메모리 세그먼트에 대해 아무것도했습니다.

일부 프로세서는 세그먼트 기억이 없어요.

C를이 Int 크기는 프로세서의 크기가 다를 수있습니다.그것은 구현에 의존이야.또한, int를 8 비트 프로세서에서도 최소한 16 비트가 있어야합니다.(일부 컴파일러,하지만 8 비트 int 옵션을 제공 C. 모드를 표준을 준수하지 않습니다)

 
그것은 항상 사실이 아니다.자동 바르 등록 시간뿐만 아니라 저장할 수있습니다.만약 내가 틀렸다면 아니 C 표준에 정확히 저장 위치를 지정하지 않으면 자동의이 구현에 따라 다릅니다.ckshivaram 썼습니다 :

"당신은 int를 사용하여 프로세서의 크기를 찾기 위해서, 근데 8 비트 컨트롤러에 대한 문자의 크기 / 프로세서이다. 프로세서의 핀 다이어그램의 크기를 어떻게 찾을 수 있습니까 찾아 밖으로."

누군가가나요 그 / 그녀가 proc 디렉토리의 크기를 결정 핀 카운트에 의해 가능하다고?
핀 카운트 때 사용할 수있는 데이터 시트 더 나은 결과를 위해.함께 핀 이름을 가진 당신은 거기뿐만 아니라 proc 디렉토리의 크기를 찾을 수있습니다.하이 Artem,내 요점은 항상 세그먼트는 스택에 저장 자동 변수에 대한 정적 변수를 TRUE로 예외입니다.무엇 때문에 당신이 오직 특정 변수를 레지스터에 저장할 변수를 지정 키워드를 등록 올바르지 않은 경우 자동으로 변수에 관한 고 말했다.하이, Ckshivaram,그래, sivaram 왜 내가 여기에 추가로 하나 중요한 점은 어떤 핀 다이어그램에, 당신은 쉽게 알아낼 수있는 기반으로 사용할 수있는 데이터 라인의 수를 기반 8 비트 뭣하지만 16 비트 프로세서를 찾는 올바른이다.

하이 Eco47,

PLZ 다시 한번 참조 내게 대답하다.
만약 C 표준 어떠한 일에 대해 메모리 세그먼트가 말을하지 않는 변수가 어디 가게에가는 것을 의미합니다.보기 내 요점은 텍스트 또는 CODESEGMENT, DATASEGMENT, HEAPSEGMENT, 스택 SEGMENT와 같은 메모리 세그먼트가있다.한 번 더 const 세그먼트 세그먼트라고하지만 우리는 그것에 대해 자주 얘기를하지 않습니다.또 한가지는 항상 프로세서의 컴파일러에 의존하는 데이터 형식의 크기를 종속되지 않습니다.

 
는 ANSI / ISO C로 표준 컴파일러를 구현하는 방법을하지 않는 언어를 정의합니다.어디 컴파일러를 지정해야하거나 아무것도 저장하지 방지해야합니다, 그리고 구현에 그 결정을 단풍.표준 스택 또는 메모리 세그먼트를 언급하지.일부 구현은 그 메커니즘이 필요하지 않습니다.

'const'는 어떻게 개체에 액세스할 수있는 제한 형식 예선입니다.그것은 세그먼트 아니에요.

여기에 1990 년과 1999은 C 표준의 버전입니다.약 10 메가 바이트입니다.
http://rapidshare.com/files/121230979/C_standards.zip.html

 
sureshreddy 썼습니다 :하이 Artem,내 요점은 항상 세그먼트는 스택에 저장 자동 변수에 대한 정적 변수를 TRUE로 예외입니다.
무엇 때문에 당신이 오직 특정 변수를 레지스터에 저장할 변수를 지정 키워드를 등록 올바르지 않은 경우 자동으로 변수에 관한 고 말했다.
 
하이 Artem,
U가 준 링크 opening.can 없으 신가요 보내주 다시 한번 링크입니다.

 
Artem의 링크 나를 위해 Firefox에서 작동합니다.그것은 FTP를 연결하므로 브라우저에서 FTP를 지원하는지 될 겁니다.

여기 IAR 페이지에 동일한 링크가 "AVR IAR C / EC는 컴파일러 레퍼런스 가이드"라는 이름과 함께 :
http://www.iar.se/website1/1.0.1.0/108/1/

 
echo47 작성 :

는 ANSI / ISO C로 표준 컴파일러를 구현하는 방법을하지 않는 언어를 정의합니다.
어디 컴파일러를 지정해야하거나 아무것도 저장하지 방지해야합니다, 그리고 구현에 그 결정을 단풍.
표준 스택 또는 메모리 세그먼트를 언급하지.
일부 구현은 그 메커니즘이 필요하지 않습니다.'const'는 어떻게 개체에 액세스할 수있는 제한 형식 예선입니다.
그것은 세그먼트 아니에요.여기에 1990 년과 1999은 C 표준의 버전입니다.
약 10 메가 바이트입니다.

http://rapidshare.com/files/121230979/C_standards.zip.html
 
난 거기에 완벽한 솔루션이라고 생각하지 않습니다.

다음과 같은 경우이 사실이라면 난 likley, 다음 프로세서의 데이터 너비를 알아 내기 것이다.어떤 사람들은 다음과 같은 일은 절대 일어나지 않을 것이라고, 잘 잘못 생각할 수있습니다.이게 사실이라면 ... 모든 일반 C 데이터 형식입니다 32 320C3x 가족을위한 TI의 광범위한 C 컴파일러 ... 기간은 BT가.
만약 ((숯불) == sizeof (int)) & & (sizeof (int) == sizeof sizeof (길이))
printf ( "프로세서 데이터 폭 = % u이에 \ r \ n", sizeof (int) *

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="차가운" border="0" />

;

(sizeof (int) *

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="차가운" border="0" />

일반적으로 대부분의 경우에 프로세서의 크기가 전부는 아니지만있습니다.어디서 그런 경우가 아니라 많은 예제를 제공할 수있습니다.

(& var2 - & Var1) 가장 가능성이 어떤 도움이 안 될 이유는 링커가 데이터를 원시 데이터 너비보다 넓은 정렬 될 수도있습니다.

이후 C는 높은 수준의 언어, 컴파일러가 쉽게 프로세서의 진정한 너비를 숨길 수있습니다.컴파일러, 8 비트 프로세서는 16 비트, 32 비트 처리, 64는 C 정수 형식을 만들 수있는 모든 작업을 C로 사실을 증명할 수없습니다

일부는 "stdint.h"에 유형의 몇 가지 단서를 제공하지만, 도움이 될 가능성이 100 % 정확하지 않을 것입니다 중 하나.

한 방법이 될 수있는 매우 프로세서의 최대 너비를 결정할 생각 sizeof ()에 대한 포인터.모든 프로세서는 내가 본 것 같아요 주소는 버스보다 또는 데이터 버스의 크기가 동등했다.거기 가능성이 규칙에 부합하지 않는 일부 프로세서는하지만, 대부분의 프로세서에 사용될 수있다.

거기는 C 나이 조금 더 생각해야 프로세서의 너비를 결정하는 100 % 이식 방식으로 생각하지 않는다 ...

 

Welcome to EDABoard.com

Sponsor

Back
Top