2010-02-10 7 views
0

나는 서버에서 일하고 있고 2 개의 프로그램으로 작동한다. 하나는 서버이고 하나는 오류 처리기이고, 메인 서버가 실패하면 다시 시작한다. 데이터를 처리하는 두 번째 프로그램의 주요 방법은 프로그램에서 값을 읽는 것입니다 (왜냐하면 디버깅을 할 때 주소를 채우고 있었기 때문입니다). 텍스트 파일에 값을 쓰는 것은 너무 오래 걸리고 공간을 차지하기 때문입니다. 정말 필요합니다 : | 어쨌든 나는 대략 100,000 가치가있다 그러나 나는 단지 대략 100를 필요로한다 나는 그 (것)들을 유일하게 찾아 낼 필요가 있고 나가 틀린 one을 얻는 경우에 나는 아무것도 "있을 때"틀린 "것을 고치는 것을 시도해서 그것을 부술지도 모르다. (때로는 더 많은 방법이 있지만 주소를 알 필요가있을 때까지는 그 중 100k 이상을 가지지 않을 것입니다).매번 주소를 찾는 방법

사람들이 다른 방법으로 말해야 할 필요는 없습니다. 다른 모든 방법에서 한 가지 값을 찾는 방법을 알고 싶습니다. 그리고 나는 텍스트 파일에 쓸 수 없다. 나는 그것을 설정하고 2 ~ 3 주 정도 그것을 다시 코딩하기를 원하지 않기 때문에 나는 단지 메모리에서 그것들을 읽을 수있다.

~ 편집 ~ 죄송 합니다만 명확하지 않으면 죄송합니다.

메모리 (예 : int, bool 등)의 값이 필요하므로 찾을 수 있습니다.

나는 또한 정말로 다른 프로그램과 충돌 할 수 있기 때문에 2 개의 프로그램과 아무 것도 공유하고 싶지 않습니다. 만약 그들이 공유하고 충돌하고 다시 시작하지 않으면 내 서버가 오프라인 intell 누군가가 나에게 알려주거나 업데이 트합니까 : | 하루 이틀.

다른 누군가가 혼란스럽고 미안하지만 물어 보면 편집하겠습니다.

+1

나는 당신이 여기서 성취하려는 것을 분명히하기 위해 정말로 노력해야한다고 생각합니다. 예를 들어, "100 개의 int 값 중 100 개의 int 값"은 적어도 저에게는 의미가 없습니다. 이를 무시하고 동일한 컴퓨터의 프로그램간에 빠른 통신을 원할 경우 파이프 또는 공유 메모리 영역을 고려할 수 있습니다. 파이프는 일반적으로 더 간단합니다. –

+0

질문을 편집 하시겠습니까? 조금 더 많은 구두점과 적은 대명사 ("다른 모든 것들에서 찾을 수 있습니다." "그들"은 무엇입니까? "다른 것들은 무엇입니까?")을 이해하는 것이 더 쉬울 것입니다. 어떤 종류의 주소입니까? IP가요? 우편 주소? 포인터? 이러한 세부 사항은 누군가에게 당신에게 좋은 대답을 줄 수있는 길로 갈 것입니다. –

답변

0

값을 모를 경우 메모리에서 찾을 수 없습니다.

만약 당신이 이미 그들의 가치를 안다면, 왜 그들을 바라 보는 것일까 요?

코드를 다시 작성하는 데 2 ​​~ 3 주가 소요될 경우 "서버"응용 프로그램을 다시 작성하여 관리하기가 더 쉬워집니다.

0

죄송합니다. 그런 식으로 작동하지 않습니다. 많은 "값"(변수)은 메모리에 저장되지 않습니다. 대신 CPU 레지스터에 저장됩니다. 이것은 레지스터가 훨씬 빠르기 때문에 수행됩니다. 그러나, 그들은 또한 희소하므로, 당신 같은 큰 프로그램에서 그들은 재사용 될 것입니다. 다른 시간에 다른 변수가 특정 레지스터에 매핑됩니다. 결과적으로, localVariable732ECX 레지스터에 매핑되는 경우에도 ECX 레지스터에 현재 localVariable732 값이 포함되어 있는지 여부를 알 수 없습니다.

관련 문제