
Max
16.07.2018
10:27:00
это 2 клиентских сокета один до сервера другой в локальной сети до нужного мне порта

Spoonson
16.07.2018
10:29:18
strlen на бинарных (?) данных смелое решение. Обрнуть бы код в три ` для начала.

Max
16.07.2018
10:32:16
там обычный html можно сказать пробрасывается, так что строго говоря должны хотя бы строки приходить на запросы, но ничего не приходит, я же правильно понимаю что это должно работать

yuri
16.07.2018
10:43:09

Google

Max
16.07.2018
10:45:08
server-client(recv)->clientToLocalPort(send)->localPortClient(recv)->messageToServer(send)

Stolyarchuk
16.07.2018
10:48:09
снатить непроще? линукс же

Max
16.07.2018
10:48:53
embedd-linux)

Stolyarchuk
16.07.2018
10:49:29
ой нет тогда.. ждите гуру - они на обеде задерживабтся)

Ilia
16.07.2018
10:50:10
Всем привет, может кто подсказать, хочу пробросить порт из локальной сети кусок кода -> pid_t pid = fork();
if(pid==0){
while(1){
if(recv(sock,pbuffer,3000,0) < 0){
printf("RECV ERROR");
}
if(send(cl_sock,pbuffer,strlen(pbuffer),0) < 0)
{
printf("Send failed");
}
}
}
else{
while(1){
if(recv(cl_sock,cl_pbuffer,3000,0) < 0){
printf("RECV ERROR");
}
if(send(sock,cl_pbuffer,strlen(pbuffer),0) < 0)
{
printf("Send failed");
}
}
}
Тебе не нужно этот код писать.

Max
16.07.2018
10:50:39
ну есть реализация уже одна, называется dropbear который пробросит порт через ssh туннель, но 240кб как бы хочется сократить до приемлимых 20-30кб

Ilia
16.07.2018
10:52:21

Igor
16.07.2018
10:52:39

Ilia
16.07.2018
10:53:12

Igor
16.07.2018
10:53:40
Потому что она как правило уже сделана, когда начинают так о килобайтах печься, но вдруг забыли
Ну или пожало с 240 до 230 всего

Max
16.07.2018
10:58:03

Google

Ilia
16.07.2018
10:59:04

Stolyarchuk
16.07.2018
10:59:17

Kitsu
16.07.2018
10:59:38
чот тут поживее будет
https://ideone.com/tkwUfT
Это UB-шечка или норм? Код понятное дело упрощен

Aleksandr
16.07.2018
11:00:55
UB как по мне

Igor
16.07.2018
11:01:08
УБшечка, ты же константу меняешь по сути, которую компилятор мог уже куда-то подставить

Ilia
16.07.2018
11:02:53

Kitsu
16.07.2018
11:03:50
thx

Юра Незнанов
16.07.2018
12:00:13
народ, а обилие ключевого слова register ничем не грозит?? в плане их же мало регистров-то, а ограничений на количество слов register в коде нет... я могу хоть сто штук переменных сделать регистровыми

Alexander
16.07.2018
12:00:30

Юра Незнанов
16.07.2018
12:01:32
и можно ли как-нибудь отменить его действие? в плане, если мне нужно какие-то действия локальные быстро очень провести, а потом эта переменная уже особо не нужна, как сделать так чтобы для дальнейшего использования в программе эта переменная не занимала просто так регистр
ничем. его удалили
у меня быстродействие с его использованием просто выросло почти в 7 раз...

Kitsu
16.07.2018
12:02:31

Alexander
16.07.2018
12:02:33

Igor
16.07.2018
12:02:36
код в студию, компилятор в студию

Юра Незнанов
16.07.2018
12:03:16

Alexander
16.07.2018
12:03:32

Юра Незнанов
16.07.2018
12:03:42
int main()
{
register int a=0;
unsigned long d = GetTickCount();
for(register int i=0;i<2000000000;i++)
{
a++;
}
DWORD ff = GetTickCount();
cout<<ff-d<<endl;
return 0;
}
qt creator, винда, ничего вручную не менял

Google

Kitsu
16.07.2018
12:03:58
а, ну понятно

Alexander
16.07.2018
12:04:05
какие флаги компиляции???

Kitsu
16.07.2018
12:04:26

Юра Незнанов
16.07.2018
12:05:10

Stanislav
16.07.2018
12:05:17
и если включить C++17 то должен варнинговать на register :)

Alexander
16.07.2018
12:06:02

Юра Незнанов
16.07.2018
12:06:13
да нихрена там нет

Alexander
16.07.2018
12:06:19
тогда просто включай релиз

Юра Незнанов
16.07.2018
12:06:26
TEMPLATE = app
CONFIG += console c++98
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += main.cpp
HEADERS += \
json.h

Kitsu
16.07.2018
12:06:35

Alexander
16.07.2018
12:07:01
да, QMAKE_CXXFLAGS
не, с этим товарищем так не работает.
Ты компиляешь в Debug или Release?

Kitsu
16.07.2018
12:07:05
c++98 :(

Anatoly
16.07.2018
12:07:21
я не очень понял, почему это здесь?

Юра Незнанов
16.07.2018
12:07:24

Alexander
16.07.2018
12:07:39
дебаг
а теперь собери релиз

Юра Незнанов
16.07.2018
12:08:58

Alexander
16.07.2018
12:09:17
и что это значит? ?

Юра Незнанов
16.07.2018
12:09:34
что все на этапе компиляции выполнилось?

Kitsu
16.07.2018
12:10:12

Google

Побитый
16.07.2018
12:12:09

Юра Незнанов
16.07.2018
12:14:38

Ignat
16.07.2018
12:15:10
nope

Побитый
16.07.2018
12:15:36

Stanislav
16.07.2018
12:16:57

Юра Незнанов
16.07.2018
12:18:33
а нафига его тогда добавляли?.. или это сишные остатки?

Побитый
16.07.2018
12:18:43

Alexander
16.07.2018
12:19:59

Anatoly
16.07.2018
12:20:45

Юра Незнанов
16.07.2018
12:21:23
а сейчас вообще реально оптимизировать лучше чем компилятор это сделает?..

Anatoly
16.07.2018
12:21:40

Mikhail Voronov
16.07.2018
12:21:57
suprapro

Юра Незнанов
16.07.2018
12:22:30

Alexander
16.07.2018
12:23:15
кстати, никто не натыкался на инфу, сколько времени от компиляции компилятор проводит за оптимизациями?

dark
16.07.2018
12:35:32

Alexander
16.07.2018
12:36:13
спасибо, такое я и сам умею ?

Mikhail Voronov
16.07.2018
12:36:38

Ilia
16.07.2018
12:46:41

Google

Ilia
16.07.2018
12:48:19

Ростик
16.07.2018
12:49:15
Теперь ваша прога будет ничего не делать на 20% быстрее

Ilia
16.07.2018
12:49:52

Юра Незнанов
16.07.2018
12:50:19
Да гонишь!
господи, ну издеваться то зачем... просто у меня сейчас нет прикладной задачи где это можно было бы использовать реально, а это был чисто тестовый примерчик

Ilia
16.07.2018
12:50:35

Побитый
16.07.2018
12:52:10

Ilia
16.07.2018
12:53:06
Нет, никогда не оптимизировалось, всегда было рекомендательным. Ещё даже в чистом С.
Тут мы не будем обсуждать ДоДиез, иди в @pro_net или как его там...

Никита
16.07.2018
13:01:54

Max
16.07.2018
13:14:10

Крис
16.07.2018
13:15:09

Серж
16.07.2018
13:15:12
правильно:
volitiale int a = 0

Крис
16.07.2018
13:15:13
Как минимум