- 1
- 2
- 3
- 4
- 5
#define POOL_ZERO_DOWN_LEVEL_SUPPORT
#include <wdm.h>
char* p = ExAllocatePoolZero(NonPagedPool, 42, '_GK_');
ASSERT(p[0] == 0);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
#define POOL_ZERO_DOWN_LEVEL_SUPPORT
#include <wdm.h>
char* p = ExAllocatePoolZero(NonPagedPool, 42, '_GK_');
ASSERT(p[0] == 0);
https://www.osr.com/blog/2020/07/14/bug-in-new-function-exallocatepoolzero-results-in-security-vulnerability-and-crashes/
microsoft_real_calloc() и 100500 способов отстрела ноги с помощью него.
+1
~ cat test.sh
#!/bin/bash
for i in "$@"; do
echo $i
done
arglist="$@"
for i in $arglist; do
echo $i
done
~ sh test.sh 1 2 '3 4'
1
2
3 4
1
2
3
4
~
Застрял на отладке одного скрипта, как этим правильно пользоваться?
+2
Ну я думаю все уже в курсе этой хуйни с обыском в Nginx
Обыски, Сысоев и Коновалов были задержаны и прочая такая хуйня, традиционная для жителей РФ
https://habr.com/ru/company/itsumma/blog/479942/
Потом всякие набросы на всё том же хабре в духе "Я-МЫ Nginx" и так далее.
Особенно забавно например такое:
https://pbs.twimg.com/media/ELqxwTcXkAA04zq?format=jpg&name=large
Социальная сеть, отжатая в результате налета на создателя силовиков большой IT-корпорацией во главе олигарха, выступает против налета силовиков на создателя веб-сервера, предпринятого в попытке отжать компанию большой IT-корпорацией во главе олигарха.
−4
Поскольку раздела по Rust нету, о чём я сожалею, выложу тут:
https://internals.rust-lang.org/t/subscripts-and-sizes-should-be-signed/17699/83
В целом же я считаю, что несмотря на это всё, Rust классный и перспективный язык, нападки Царя сосут, но индексы должны быть знакового типа.
0
#include <iostream>
using namespace std;
struct Rooster {
int id = 0;
};
void asshole(const Rooster* roosters) {
Rooster* r = (Rooster*)roosters;
for (int i = 0; i < 3; i++) {
r[i].id = i + 1;
}
}
int main() {
Rooster roosters[3];
asshole(roosters);
for (int i = 0; i < 3; i++) {
printf("%d\n", roosters[i].id);
}
return 0;
}
https://ideone.com/Xk9Ukg
Нахуй так жить?
+140
http://yadi.sk/d/4HDnPUi2MCCRa
Мисато и говнокод.
Здесь мы видим пять прототипов WinMain'а подряд, а шестой, который чуть пониже, использует вывод типов сишкофичу int-по-умолчанию...
P.S. Скорее всего этот пост заминусуют за оффтоп и передачу по ссылке, но я просто не мог не выложить этот снимок ;)
0
// https://git.zx2c4.com/BruteZip/tree/read.c?id=e4e9c17b99e0d108136b8a07632b1ebaa7d09d28#n26
int main(int argc, char *argv[])
{
union {
long int l;
char c[sizeof(long int)];
} u;
u.l = 1;
if (u.c[sizeof(long int) - 1] == 1) {
printf("This program only runs on little endian archs, because I'm lazy. Sorry.\n");
return -2;
}
Хуйня какая-то. Ведь sizeof(long int) может быть равен sizeof(char).
Но над такой питушней обычно никто не задумывается
0
class Cat {
constructor(
public name: string) {
}
toCoolCat(coolness: number): CoolCat {
return new CoolCat(this.name, coolness);
}
}
// ...
class CoolCat extends Cat {
constructor(
name: string,
public coolness: number) {
super(name);
}
}
//...
function addCoolCat(coolness: number, cat: Cat): void {
this.coolCats.push(cat.toCoolCat(coolness);
}
//...
addCoolCat(80, {name: 'Greycat'});
Вроде TypeScript, а на самом деле NotCompletelyTypeScript.
Во время выполнения получим ошибку "cat.toCoolCat is not a function". Тем не менее, компилятор TypeScript позволяет это (а конкретно, строку 23) скомпилировать. Хотелось бы, чтобы не позволял.
+141
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
//Перегруженый метод Paint
//Если нужно будет работать с графиксом в других методах (рисовать на нем в других методах)
//сделайте его глобальным
//Graphics gr = this.CreateGraphics();//Создаем объект графикс из окна
Graphics gr = e.Graphics;
int w = this.ClientSize.Width;//размеры клиентской области
int h = this.ClientSize.Height;//размеры клиентской области
int widthLines = 20;//Ширина клетки
int heightLines = 20;//Высота клетки
for(int i = 0; i < w; i += widthLines)
{
//Вертикальные линии
gr.DrawLine(new Pen(Brushes.Blue), new Point(i + widthLines, 0), new Point(i + widthLines, h));
//Горизонтальные линии
gr.DrawLine(new Pen(Brushes.Blue), new Point(0, i + heightLines), new Point(w, i + heightLines));
}
//Graphics gr = e.Graphics;
graf_func();
Pen p = new Pen(Color.Red, 3);// цвет линии и ширина
Point p1 = new Point(10, data_graf_x[0]);// первая точка
Point p2 = new Point(20, data_graf_x[1]);// вторая точка 1-y 2-x 1
Point p3 = new Point(30, data_graf_x[2]);// вторая точка 1-y 2-x 2
Point p4 = new Point(40, data_graf_x[3]);// вторая точка 1-y 2-x 3
Point p5 = new Point(50, data_graf_x[4]);// вторая точка 1-y 2-x
Point p6 = new Point(60, data_graf_x[5]);// вторая точка 1-y 2-x
Point p7 = new Point(70, data_graf_x[6]);// вторая точка 1-y 2-x
Point p8 = new Point(80, data_graf_x[7]);// вторая точка 1-y 2-x
Point p9 = new Point(90, data_graf_x[8]);// вторая точка 1-y 2-x
Point p10 = new Point(100, data_graf_x[9]);// вторая точка 1-y 2-x
Point p11 = new Point(110, data_graf_x[10]);// вторая точка 1-y 2-x
Point p12 = new Point(120, data_graf_x[11]);// вторая точка 1-y 2-x
Point p13 = new Point(130, data_graf_x[12]);// вторая точка 1-y 2-x
Point p14 = new Point(140, data_graf_x[13]);// вторая точка 1-y 2-x
Point p15 = new Point(150, data_graf_x[14]);// вторая точка 1-y 2-x
Point p16 = new Point(160, data_graf_x[15]);// вторая точка 1-y 2-x
Point p17 = new Point(170, data_graf_x[16]);// вторая точка 1-y 2-x
Point p18 = new Point(180, data_graf_x[17]);// вторая точка 1-y 2-x
Point p19 = new Point(190, data_graf_x[18]);// вторая точка 1-y 2-x
Point p20 = new Point(200, data_graf_x[19]);// вторая точка 1-y 2-x
Point p21 = new Point(210, data_graf_x[20]);// вторая точка 1-y 2-x
Point p22 = new Point(220, data_graf_x[21]);// первая точка
Point p23 = new Point(230, data_graf_x[22]);// вторая точка 1-y 2-x 1
Point p24 = new Point(240, data_graf_x[23]);// вторая точка 1-y 2-x 2
Point p25 = new Point(250, data_graf_x[24]);// вторая точка 1-y 2-x 3
Point p26 = new Point(260, data_graf_x[25]);// вторая точка 1-y 2-x
Point p27 = new Point(270, data_graf_x[26]);// вторая точка 1-y 2-x
Point p28 = new Point(280, data_graf_x[27]);// вторая точка 1-y 2-x
Point p29 = new Point(290, data_graf_x[28]);// вторая точка 1-y 2-x
Point p30 = new Point(300, data_graf_x[29]);// вторая точка 1-y 2-x
Point p31 = new Point(310, data_graf_x[30]);// вторая точка 1-y 2-x
//...
Point p180 = new Point(900, data_graf_y[89]);// вторая точка 1-y 2-x
Point[] my_point =
{
p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,
p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p47,p48,p49,p50,p51,p52,p53,p54,p55,p56,p57,p58,p59,p60,
p61,p62,p63,p64,p65,p66,p67,p68,p69,p70,p71,p72,p73,p74,p75,p76,p77,p78,p79,p80,p81,p82,p83,p84,p85,p86,p87,p88,p89,p90
};
Point[] my_point1 =
{
p91,p92,p93,p94,p95,p96,p97,p98,p99,p100,p101,p102,p103,p104,p105,p106,p107,p108,p109,p110,p111,p112,p113,p114,p115,p116,p117,p118,p119,p120,
p121,p122,p123,p124,p125,p126,p127,p128,p129,p130,p131,p132,p133, p134,p135,p136,p137,p138,p139,p140,p141,p142,p143,p144,p145,p146,p147,p148,p149,p150,
p151,p152,p153,p154,p155,p156,p157,p158,p159,p160,p161,p162,p163,p164,p165,p166,p167,p168,p169,p170,p171,p172,p173,p174,p175,p176,p177,p178,p179,p180
};
p180... мама дорогая... Боюсб даже представить, сколько временина это ушло, не говоря про ресурс клавиш ctlr, c и v.
При попытке добавить хотя бы 100 строк (из 200) пишет "Такой длинный код врядли может быть смешным. Пожалуйста, ограничьтесь сотней строк и 6000 символами."
Даже забавно
источник творения
http://www.cyberforum.ru/csharp-beginners/thread1069910.html
+136
#include <stdio.h>
#include <math.h>
const double g = 10; // да, 10
int main() {
double v0; // начальная скорость снаряда в метрах в секунду
double angle; // угол в градусах относительно плоскости земли
scanf("%lf%lf", &v0, &angle);
angle = angle / 180 * M_PI; // переводим градусы в радианы
/*
уравнения движения в нашем случае просты:
x = v0 * t * cos(angle)
y = v0 * t * sin(angle) - g * t * t / 2
в момент удара о землю y будет равен 0 (по условию задачи)
из второго уравнения выразим время:
t = 2*v0*sin(angle)/g
за это время снаряд улетит на v0 * t * cos(angle)
x = 2 * v0 * v0 * cos(angle) * sin(angle) / g
Формулу можно упростить до v0 * v0 * sin(2*angle) / g
*/
double x = v0 * v0 * sin(2 * angle) / g;
printf("x = %.0lf\n", x);
return 0;
}
Референсный код для superhackkiller1997.
Простейшая задачка о полете снаряда. Ветер и сопротивление воздуха не учитываем. Стрельбы производятся на равнине (т.е. высоту в момент выстрела и в момент попадания в землю считаем одинаковой).
Входные данные: начальная скорость снаряда (в метрах в секунду), угол относительно плоскости земли (в градусах).
g принимаем равным 10 м/с².
Выходные данные: расстояние от пушки, на котором снаряд ударится о землю (в метрах, такой точности будет вполне достаточно).
Примеры:
v0 = 200, angle = 45 => x = 4000
v0 = 200, angle = 30 => x = 3464
v0 = 200, angle = 90 => x = 0
Продемонстрируй нам, как бы ты решил эту несложную задачку со своим представлением чисел (не fixed и не float). На входе, как видишь, все числа целые, на выходе тоже.