LINUX.ORG.RU

Ни один человеческий компилятор это не скомпилирует! Мухлюешь!!!

Eddy_Em ☆☆☆☆☆ ()

Кстати, а что тебе не нравится-то помимо нарушения правил языка?

Eddy_Em ☆☆☆☆☆ ()

ну вот кто так делает?

WRG ★★★★ ()
Ответ на: комментарий от Eddy_Em

Ни один человеческий компилятор это не скомпилирует! Мухлюешь!!!

gcc скомпилировал например.

Debasher ★★★★★ ()
Ответ на: комментарий от Eddy_Em

наоборот , становится понятней эволюция языка С.

по началу всё есть чанк(16 бит) которые именнованны, и глобальны,

поэтому и auto|register для локальных и extern для внешних,

ну и static для собственных переменных функций/файлов.

т.е так и нужно С осваивать.

qulinxao ★★☆ ()

Надо сделать раздел «ЛОР образовательный» и весь девелопмент перенаправлять туды

stopitplease ()
$ cc -Wall -pedantic qu.c 
qu.c:1: warning: data definition has no type or storage class
qu.c:1: warning: type defaults to ‘int’ in declaration of ‘a’
qu.c:2: warning: return type defaults to ‘int’
qu.c: In function ‘main’:
qu.c:3: warning: type defaults to ‘int’ in declaration of ‘b’
qu.c:4: warning: implicit declaration of function ‘scanf’
qu.c:4: warning: incompatible implicit declaration of built-in function ‘scanf’
qu.c:5: warning: implicit declaration of function ‘printf’
qu.c:5: warning: incompatible implicit declaration of built-in function ‘printf’
qu.c:6: warning: statement with no effect
qu.c:7: warning: control reaches end of non-void function

Ни одной строчки без предупреждения

т.е так и нужно С осваивать.

Точно

anonymous ()

Понятно, что говнокод. Но в чем проблема то?

Deleted ()

Ты о чём, о горе предупреждений? Ну да, это С виноват. И да: в толксы.

Lilly ()
a;
main( argc, argv )
    char** argv; 
{
        auto b;
        scanf("%d%d",&a,&b);
        printf("%d",a+b);
        0;
}

fixed

wota ★★ ()
Ответ на: комментарий от stopitplease

Конкурс «Кто напишет тупее»?

да, а почему ты спрашиваешь?

wota ★★ ()

А ты не пиши так. Я тебе говна могу и на хаскеле наваять.

Dark_SavanT ★★★★★ ()

Си то ещё поделие, но что не так с кодом?

unsigned ★★★ ()

Мне вот просто интересно, а ты что ожидал? Вылет? Хоть коряво написано, но так можно это раз и это корректно отработает это два. Что не так в том что ты получил сумму двух интов?

Dron ★★★★★ ()
Ответ на: комментарий от Debasher

Не скомпилирует он! Надо всегда писать -Wall -Werror. Иначе — мухлеж!!!

Eddy_Em ☆☆☆☆☆ ()

Похоже это не лечится.

anonymous ()
Ответ на: комментарий от Debasher

Не надо.

Надо, я еще и -Wextra добавляю, и еще некоторые, которые не входят в all и extra, вообще чем больше различного рода контроля над кодом тем лучше.

wota ★★ ()

Не знал что можно объявить переменную без указания типа

peter_t ()
Ответ на: комментарий от wota

А есть какой-нибудь ключик, благодаря которому си станет строго-типизированным?

Debasher ★★★★★ ()
Ответ на: комментарий от Debasher

Не надо.

Таки надо. Егоров не должно быть.

Deleted ()
Ответ на: комментарий от Debasher

Надо. Иначе есть соблазн всякие косяки пропустить. Если что-то не компиляется с -Wall -Werror, бить томиком K&R того, кто это написал! До просветления!

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Debasher

А есть какой-нибудь ключик, благодаря которому си станет строго-типизированным?

нет, т.к., если тебе это надо, то ты ошибся языком

wota ★★ ()

ого сурово как!
в треде говорят что это говнокод, а я же его вообще не понял... можно комментарии к каждой строке?

reprimand ★★★★★ ()

Люблю Си

Зато Си тебя не любит. И не путай чистую любовь и грубое изнасилование в особо извращённой форме.

redgremlin ★★★★★ ()
Ответ на: комментарий от Debasher

А есть какой-нибудь ключик, благодаря которому си станет строго-типизированным?

Это ж диез. Но получится не совсем си.

x3al ★★★★★ ()

а потом говорят, что пых поделие.

говнокод можно писать на чём угодно. На пыхе можно отстрелить ноги, на сишке — вместе с яйцами. Там ружьё больше, и удобнее поворачивается.

emulek ()

Ты не только человеческие языки коверкаешь. У тебя даже языки программирования коверкать выходит! Талант!

nanoolinux ★★★★ ()
#include <stdio.h>
nop(x)
{
	return x;
}
wtf(x) 
{
	nop(x+2);
}
int main() {
	printf("%d\n",(wtf(1)));
	printf("%d\n",(nop(1),wtf()));
	printf("%d\n",(nop(1),nop(wtf()),wtf()) );
	wtf(1),printf("%d\n",nop());
	nop(wtf(1)),printf("%d\n",nop());
	nop(1),wtf(),printf("%d\n",nop());
	nop(1),nop(wtf()),printf("%d\n",nop());
	nop(1),nop(wtf()),printf("%d\n",wtf());
	return 0;
}

MKuznetsov ★★★★★ ()
Ответ на: комментарий от MKuznetsov
printf("%d\n",(nop(1),nop(wtf()),wtf()) );

Вау, стандарт так разрешает? Можно ссылочку?

HerrWeigel ★★★★ ()

auto b;

Напомнили: если кто ещё не в курсе, то в новом gcc для сишечки добавили расширение __auto_type — мелочь, а приятно.

mix_mix ★★★★★ ()
Ответ на: комментарий от mix_mix

Не, меня интересует, что результат вычисления одной функции передается другой в качестве аргумента через запятую, без явного указания аргумента.

HerrWeigel ★★★★ ()
Ответ на: комментарий от HerrWeigel

результат вычисления одной функции передается другой в качестве аргумента через запятую

Что?

#include <stdio.h>

int main (int argc, char *argv[])
{
    int a = (1,2,3);
    printf ("%d\n", a);
    return 0;
}
/tmp $ gcc comma.c 
/tmp $ ./a.out 
3

Никакой магии.

yoghurt ★★★★★ ()
Ответ на: комментарий от yoghurt

Ну вот та строчка, которую я привел, выдает 5. Почему?

То, что ты написал я понимаю.

HerrWeigel ★★★★ ()
Ответ на: комментарий от HerrWeigel

оператор "," тут непричём, впрочем как и стандарт.

это трюк по calling convention

можно больше:

#include <stdio.h>
nop(x){return x;}

mult(x,y) { nop(x*y);}
inc(x,y) { nop(x+y);}
dec(x,y) { nop(x-y);}

p(x){nop((printf("%d ",x),x));}

int main() {
	nop(20),p(nop()),p(nop()+1),p(nop()+2),p(nop()+3),p(nop()+4);putchar('\n');
	nop(20);p(nop());p(nop()+1);p(nop()+2);p(nop()+3);p(nop()+4);putchar('\n');

	nop(20,3),nop(dec()),nop(dec()),nop(mult()),nop(inc()),nop(inc()),p();
	nop(20,10);nop(dec());nop(dec());nop(mult());nop(inc());nop(inc()),p();

	nop(20,10);nop(dec());nop(dec());nop(mult(nop(),2));nop(inc());nop(inc()),p();
}

MKuznetsov ★★★★★ ()

Приветствую уважаемые!

Мне нужно скомпилировать драйвер из исходника: http://lxr.free-electrons.com/source/drivers/media/usb/cx231xx/cx231xx-cards.... (драйвер для TV тюнера)

Пожалуйста подскажите в формате для чайника, что для этого нужно доустановить, что запускать и т.д.

Система Ubuntu 14.04 64bit.

Заранее спасибо!

anonymous ()

А что ты используешь в Си для UTF-8 строк?

menangen ★★★★★ ()

Мой мозг, да что же это за тред в конце то концов!

vertexua ★★★★☆ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.