MinGW에서... 전역변수명으로 end 사용시에..

etermory의 이미지

#include <stdio.h>

int end;

int main()
{
	printf( "%d\n", end );
	return 0;
}

컴파일 하고 실행하면 프로그램이 죽는군요.
변수명으로 end 사용하면 안되나요?

dwfree74의 이미지

#include <stdio.h> 
#include <stdlib.h> // <--

int end; 

int main() 
{ 
   end = 20; // <--
   printf( "%d\n", end ); 
   system("pause"); //<--
   return 0; 
} 

이렇게 한번 해보시죠..
MinGW 에서 해보지는 않았구요.
20이 나오면 변수로 사용 가능하지 않나요?

Dev-Cpp에서는 20이 출력이 되던 걸요..^^;

P.S : end에 아무 값도 주지 않으면 0이 출력되더군요.

kldp.net 에 많은 프로그래머들이 동참하기를 바라며...^^

etermory의 이미지

당연히 0이 나와야 하는데
컴파일은 잘 되고 실행하면 죽습니다.
end를 endi로 바꿔줬더니 잘 되네요.

아무래도 제가 사용하는 MinGW 버전에 문제가 있는듯 싶습니다.
리눅스, AIX, 윈도우즈에서 각각 다른 버전의 컴파일러로 돌려봤는데
윈도우즈에서만 문제가 생기네요.

gcc version 3.2.3 (mingw special 20030504-1) 입니다.

mr.lee의 이미지

음 ..이상하군요.

mingw-msys에서 해봤는데 0 잘 나오는데요?

변수명이 end이던 endi이던 상관이 없는건데. 버그인가?

근데 그걸 떠나서 변수를 초기화 하지 않고 사용하는것은 위험한 사용이라고 생각합니다.

int end = 0;

으로 하고서 한번 더 해보시죠?

익명 사용자의 이미지

end가 보통 default linker script에서

프로그램 데이터의 마지막을 나타내는 변수로

정의되는데 아마 이것과 꼬여서(?) 그런것 같습니다.

doldori의 이미지

저도 gcc 3.2.3을 쓰는데 똑같은 현상이 발생합니다. 컴파일러의 버그로 보이네요.
그런데 산하님 말씀대로 명시적으로 초기치를 주면 잘 됩니다. 희한하군요.

etermory의 이미지

정말 그렇군요.
초기값을 설정하니까 잘 되네요..^^;

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.