metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2008-08-20 08:49 pm

Офигенно

ссылко

Кроме того, программисты, пишущие для Юникса, имеют весьма специфический характер. Их почему-то больше волнует идеологическая чистота системы, чем ее преимущества для пользования. Однажды я работал с «юниксоидом», делавшим серверную систему для салона игровых автоматов. На все мои требования сделать возможной выдачу статистики игр, он отвечал, что это уменьшает безопасность системы. То, что в данном случае гораздо большую безопасность представлял собой вульгарный сговор персонала с игроками, против которого и нужна статистика, его не волновало. Видимо, в книгах по Юниксу это нигде не написано.

Сила Майкрософта не только в больших деньгах, вкладываемых в раскрутку продуктов, иногда не совсем работающих, а и в армии программистов, умеющих работать в этой системе, и в куче полуфабрикатов, которыми могут пользоваться эти программисты. Для меня, например, разработка программы для Windows по себестоимости вдвое дешевле, чем разработка аналогичной программы для Symbian. Нетрудно догадаться, какую систему я рекомендую своим заказчикам.

-=========<;>~

(Anonymous) 2008-08-21 02:40 pm (UTC)(link)
А может это психологическая травма
человека боящегося UN*X и постоянно сравнивающего тёплое с мягким.

Самый простой пример - почему это работает везде кроме Windows
(где требуются шаманские танцы с бубном, чтобы сначало это скомпилилось, а потом вернуло sock >=0).
http://api.recaptcha.net/image?c=02KocWJ7Gbb9nCtSz-y6DmQoHwVhXfA7XOg7UZOHFS6O1kTPlCcDseQTnCbtP3dyG2rle33foC62cjVbp8uqPJg5Tl9RzbzDQf-7n62Oh28BBMdmCnODC3iGQmxbHDVw3DMeujoTwoCkhp_SqIwQB-doFdkgViJN43jK55R68MW4OKR9Hdre35xKbo21RY1N7YFTSd2gIC


#include
[Error: Irreparable invalid markup ('<sys/types.h>') in entry. Owner must fix manually. Raw contents below.]

А может это психологическая травма
человека боящегося UN*X и постоянно сравнивающего тёплое с мягким.

Самый простой пример - почему это работает везде кроме Windows
(где требуются шаманские танцы с бубном, чтобы сначало это скомпилилось, а потом вернуло sock >=0).
http://api.recaptcha.net/image?c=02KocWJ7Gbb9nCtSz-y6DmQoHwVhXfA7XOg7UZOHFS6O1kTPlCcDseQTnCbtP3dyG2rle33foC62cjVbp8uqPJg5Tl9RzbzDQf-7n62Oh28BBMdmCnODC3iGQmxbHDVw3DMeujoTwoCkhp_SqIwQB-doFdkgViJN43jK55R68MW4OKR9Hdre35xKbo21RY1N7YFTSd2gIC


#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>

int main()
{
int sock = socket(PF_INET, SOCK_STREAM, 6);
printf("socket=%d\r\n",sock);
close(sock);
return 0;
}


Re: -=========<;>~

[identity profile] metaclass.livejournal.com 2008-08-21 08:53 pm (UTC)(link)
Исходник явно не для Windows, потому что в ней делается

#include <winsock2.h>
вместо
#include <sys/socket.h>


Для вызова функций сокетов нужно предварительно вызвать WSAStartup для инициализации, тогда не будет возвращать ошибку. Функции close вообще нету, а _close не работает с сокетами, поэтому вызывать надо closesocket(sock);

А шаманские танцы с бубном нужны всегда, когда собираешь проект на С/С++ в случае, когда автор не озаботился его сборкой где-либо кроме его родной машины и ОС.

Re: -=========<;>~

(Anonymous) 2008-08-22 11:40 am (UTC)(link)
Не озаботились авторы платформы декларирующие поддержку BSD сокетов,
но ничего не говорящих о том , что "сокетов в их понимании".
Что типично для множества реализаций стандартизованных вещей этой компанией.