- 1
- 2
call LABEL
LABEL: pop eax
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+129.5
call LABEL
LABEL: pop eax
Получение адреса текущей инструкции убийственным для производительности методом.
−1
#include <iostream>
// Truthiness
struct true_type{static const bool value = true;};
struct false_type{ static const bool value = false;};
// Pick type based on bool value
template <bool B, typename T, typename U>struct conditional{typedef T type;};
template <typename T, typename U>struct conditional<false, T, U>{typedef U type;};
// Compare two types
template <typename T, typename U>struct is_same : public false_type{};
template <typename T>struct is_same<T, T> : public true_type{};
// Division predicate
template <int a, int b>struct divides{static const bool value = (a % b == 0);};
// Type traits
template <typename T, int N = 0>
struct fizzbuzz_traits{
typedef T type;
static const int value = N;
};
template <> struct fizzbuzz_traits<char*, 0>{typedef char* type;};
// fizzbuzz type initializers
template <bool A, bool B> struct fizzbuzz{};
template <> struct fizzbuzz<true, false> : public fizzbuzz_traits<char*> {static const char* value;};
typedef fizzbuzz<true, false> fizz_type;
const char* fizz_type::value = "fizz"; // static const char* can only be initialized out of line
template <> struct fizzbuzz<true, true> : public fizzbuzz_traits<char*> {static const char* value;};
typedef fizzbuzz<true, true> fizzbuzz_type;
const char *fizzbuzz_type::value = "fizzbuzz";
template <> struct fizzbuzz<false, true> : public fizzbuzz_traits<char*> {static const char* value;};
typedef fizzbuzz<false, true> buzz_type;
const char *buzz_type::value = "buzz";
template <> struct fizzbuzz<false, false> : fizzbuzz_traits<void>{};
// FizzBuzz solver
template <int N>
class FizzBuzz{
private:
struct is_divisible : public true_type{
struct by3 : public divides<N, 3>{};
struct by5 : public divides<N, 5>{};
};
public:
typedef fizzbuzz< is_divisible::by3::value, is_divisible::by5::value > solution_type;
// stores string or 'false'
typedef fizzbuzz_traits<int, N> non_divisible_type;
// stores number
typedef typename conditional< !is_same<void, typename solution_type::type>::value,
solution_type,
non_divisible_type>::type print_type;
// stores value to print
};
// Looping from N to M
template <int N, int M>
struct static_for{
static void value(){
std::cout << FizzBuzz<N>::print_type::value << std::endl;
static_for<N + 1, M>::value();
}
};
template <>
struct static_for<101, 100>
{
static void value(){};
};
int main(){
static_for<1, 100>::value();
}
Физзбазз на шаблонах без type_traits
+1
math.Min(float64, float64) float64
math.Max(float64, float64) float64
В goвне нету math.Min для integer. Даже в анскильном "Си" это есть.
https://www.pixelstech.net/article/1559993656-Why-no-max-min-function-for-integer-in-GoLang
0
#define OPCODEFORMAT_CASE(opcode, format) case opcode: return format; break
inline OpcodeFormat getOpcodeFormat(Opcode opcode)
{
switch (opcode)
{
OPCODEFORMAT_CASE(NOP , OPCODE);
OPCODEFORMAT_CASE(MOV_RR , OPCODE_RR);
OPCODEFORMAT_CASE(MOV_RC , OPCODE_RC);
OPCODEFORMAT_CASE(MOV_RM , OPCODE_RM);
OPCODEFORMAT_CASE(MOV_MR , OPCODE_MR);
OPCODEFORMAT_CASE(MOV_MC , OPCODE_MC);
OPCODEFORMAT_CASE(MOV_MM , OPCODE_MM);
OPCODEFORMAT_CASE(ADD , OPCODE_RR);
OPCODEFORMAT_CASE(SUB , OPCODE_RR);
OPCODEFORMAT_CASE(ADD_C , OPCODE_RC);
OPCODEFORMAT_CASE(SUB_C , OPCODE_RC);
OPCODEFORMAT_CASE(MUL , OPCODE_RR);
OPCODEFORMAT_CASE(DIV , OPCODE_RR);
OPCODEFORMAT_CASE(MUL_C , OPCODE_RC);
OPCODEFORMAT_CASE(DIV_C , OPCODE_RC);
OPCODEFORMAT_CASE(LEA , OPCODE_RM);
OPCODEFORMAT_CASE(INC , OPCODE_R);
OPCODEFORMAT_CASE(DEC , OPCODE_R);
OPCODEFORMAT_CASE(INT , OPCODE_C8);
OPCODEFORMAT_CASE(CMP_RC , OPCODE_RC);
OPCODEFORMAT_CASE(JMP , OPCODE_C);
OPCODEFORMAT_CASE(JZ , OPCODE_C);
OPCODEFORMAT_CASE(JNZ , OPCODE_C);
OPCODEFORMAT_CASE(JG , OPCODE_C);
OPCODEFORMAT_CASE(JNG , OPCODE_C);
OPCODEFORMAT_CASE(JGZ , OPCODE_C);
OPCODEFORMAT_CASE(JL , OPCODE_C);
OPCODEFORMAT_CASE(CALL , OPCODE_C);
OPCODEFORMAT_CASE(PUSH_R , OPCODE_R);
OPCODEFORMAT_CASE(PUSH_C , OPCODE_C);
OPCODEFORMAT_CASE(PUSH_C8 , OPCODE_C8);
OPCODEFORMAT_CASE(POP_R , OPCODE_R);
OPCODEFORMAT_CASE(POP , OPCODE);
OPCODEFORMAT_CASE(POP8 , OPCODE);
OPCODEFORMAT_CASE(POP_M8 , OPCODE_M);
OPCODEFORMAT_CASE(POP_M16 , OPCODE_M);
OPCODEFORMAT_CASE(OUT_M8 , OPCODE_MC);
OPCODEFORMAT_CASE(OUT_M16 , OPCODE_MC);
OPCODEFORMAT_CASE(OUT_C8 , OPCODE_CC8);
OPCODEFORMAT_CASE(OUT_C16 , OPCODE_CC);
OPCODEFORMAT_CASE(OUT_R , OPCODE_RC);
OPCODEFORMAT_CASE(IN_R , OPCODE_RC);
OPCODEFORMAT_CASE(IN_M8 , OPCODE_MC);
OPCODEFORMAT_CASE(IN_M16 , OPCODE_MC);
OPCODEFORMAT_CASE(RET , OPCODE);
default: return (OpcodeFormat)0xFF; break;
}
}
#undef OPCODEFORMAT_CASE
отрефакторил
+1
private void LoadControlFile()
{
this.OFD2.Title = "Open an ORYZA Run Control File";
this.OFD2.Filter = "Text Files|*.*";
this.OFD2.ShowDialog();
string path = this.OFD2.FileName.Trim();
if (Path.GetExtension(path).ToUpper() != ".EXE")
{
this.TextBox2.Text = path;
}
else
{
string text = "Loading file is not a text file, RETRY!";
MessageBox.Show(text, "Important Note", MessageBoxButtons.OK);
}
}
Филипинская прога на Win Forms. Проверка на то что входной файл не исполняемый, а текстовый.
−2
const connectToServerEpic = (
action$,
) => (
action$
.pipe(
ofType(CONNECT_TO_SERVER),
switchMap(({
hostname,
port,
protocol,
protocolVersion,
reconnectionTimeout,
}) => (
action$
.pipe(
ofType(RECONNECT_TO_SERVER),
takeUntil(
action$
.pipe(
ofType(DISCONNECT_FROM_SERVER),
)
),
startWith(null),
map(() => (
webSocket({
protocol: protocolVersion,
url: (
protocol
.concat('://')
.concat(hostname)
.concat(':')
.concat(port)
),
WebSocketCtor: WebSocket,
})
)),
switchMap((
webSocketConnection$,
) => (
webSocketConnection$
.pipe(
takeUntil(
action$
.pipe(
ofType(
RECONNECT_TO_SERVER,
DISCONNECT_FROM_SERVER,
),
)
),
catchError(() => (
timer(
reconnectionTimeout,
)
.pipe(
takeUntil(
action$
.pipe(
ofType(
RECONNECT_TO_SERVER,
DISCONNECT_FROM_SERVER,
),
)
),
mapTo(reconnectToServer()),
)
)),
map(receivedWebSocketMessage),
startWith(
connectionReady(
webSocketConnection$,
)
),
)),
)),
)
)),
)
)
https://itnext.io/simplifying-websockets-in-rxjs-a177b887f3b8
0
#include <stdio.h>
int main()
{
goto a;
h: printf("W"); goto i;
g: printf(" "); goto h;
m: printf("!"); goto n;
i: printf("o"); goto j;
n: printf("\n"); goto end;
b: printf("e"); goto c;
e: printf("o"); goto f;
j: printf("r"); goto k;
d: printf("l"); goto e;
f: printf(","); goto g;
a: printf("H"); goto b;
k: printf("l"); goto l;
l: printf("d"); goto m;
c: printf("l"); goto d;
end: ;
return 0;
}
+5
[code]main[]__attribute__((section(".text"))) = {0xC0FFC031,0x7401FF83,0xFFE7F706,0xC3F5EBCF};[/code]
Печатает факториал, от числа аргументов.
капча: t4ar
+1
template <typename function_type, typename vector_type>
function_type read_memory(HANDLE hProcess, function_type base_address, std::vector< vector_type >&& offsets) {
function_type tmp = base_address;
for (function_type i : **reinterpret_cast< vector_type** >( &offsets )) {
ReadProcessMemory(hProcess, reinterpret_cast< PBYTE* >( tmp + i ), &tmp, sizeof(function_type), nullptr);
}
return tmp;
}
int main() {
std::vector< DWORD > offset = {
0x10,
0x14,
0x158
};
auto buffer = read_memory< DWORD, DWORD >(hProcess, base_address, std::move(offset));
}
Полуговнокодер читает память чужого процесса...
0
PHP
print 3 --0-- 5 == 8; // Parse error
Java Script
console.log(3 --0-- 5 == 8); // Uncaught SyntaxError: Invalid left-hand side expression in postfix operation
Python
print(3 --0-- 5 == 8) // true
Именно поэтому я за "PHP" и "Java Script"