The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Создать новую тему
 - Свернуть нити
Пометить прочитанным
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Архив | Избранное | Мое | Новое | | |  
Форум Программирование под UNIX
ASM, !*! redd, (C/C++) 15-Апр-18, 10:21  [ | | | ] [линейный вид] [смотреть все]
Как ПРАВИЛЬНО !
Записать int sm=((((y-1)*40)+x)*2)-2;
на x86 ASM ?

al; x
ah; y
di; результат ?

asm for C, !*! redd, (C/C++) 13-Апр-18, 18:15  [ | | | ] [линейный вид] [смотреть все]
Не могу передать переменную в asm вставку ...
int X;


void putChar()
             {
              asm { mov al,X;}
              }

Выдает ошибку, ...
invalid combination of opcode and и т д ...


И еще asm { push 0b800h;}
Тоже выдаёт ошибку ...
instruction not enable (((

Никак НЕ могу найти ошибку ...., !*! redd, (C/C++) 07-Апр-18, 11:29  [ | | | ] [линейный вид] [смотреть все]
Не могу найти ошибку в коде, ошибка явно где то в функции TetrisUpDateData
И еще массив объявлен [21][10], в циклах он до 19, а в memset [20] ???

Ошибка в логике работы программы,

Win7, TURBO C 3.2 for DOS...

Подскажите в какую сторону копать ?

RAM arrary ..., !*! redd, (C/C++) 10-Апр-18, 07:32  [ | | | ] [линейный вид] [смотреть все]
Как в памяти лежит массив?
Начиная с адреса допустим 0x0000
Одномерный последовательно ..., с начального адреса
А двух мерный ?
Тоже последовательно ?
Кто нибудь может расписать как расположен массив arrary[21][12] в RAM ???


tetris , !*! redd, (C/C++) 07-Апр-18, 20:46  [ | | | ] [линейный вид] [смотреть все]
Вроде на бумаге, прорисовал, попробовал ввести несколько строчек ...

Вот что пока вышло, https://youtu.be/kIgug-wtxQA

Не знаю хватит ли у меня терпения ЭТО доделать ))))

Алгоритм Тетрис ..., !*! redd, (C/C++) 30-Мрт-18, 15:56  [ | | | ] [линейный вид] [смотреть все]
Пересмотрел кучу вариантов, не могу понять сам смысл, ...
У нас два массива, один статический, второй динамический,.
С каждым тиком складываем два массива ...
Статический идет с нарастающей суммой ...

Фигуру вращаем в динамическом массиве проверяя на границы ???

У каждой фигуры есть центр ? Вокруг которого ёе вращаем ???





Получить код клавиши, в фоне ..., !*! redd, (C/C++) 05-Апр-18, 15:52  [ | | | ] [линейный вид] [смотреть все]
Как без останова получать код клавиши,

key=getch();

Работает, но на нем происходит останов ((((((((



Проверить существование строки в кронтабе со сппецсимовлами *, !*! universite, (Shell скрипты) 18-Мрт-18, 06:00  [ | | | ] [линейный вид] [смотреть все]
Subj на Debian 8.

Пробую разные варианты, но или баш интерпретируют * как показать файлы, то "grep: заданы конфликтующие образцы"


if [ $(egrep -P "^\* \* \* \* \* /bin/bash /root/script.sh > /dev/null" /var/spool/cron/crontabs/root) ]; then
        echo "good";
                else
        echo bad;
fi



Как программный пакет в ArchLinux установить в debian, !*! qqq, (C/C++) 30-Мрт-18, 18:20  [ | | | ] [линейный вид] [смотреть все]
Привет всем!
Имеется самописная прога которая написана для AUR то есть если я правильно понимаю для ArchLinux.
Нужно ее установить в debian. Помогите плиз!!!!!


  • На страничке пакета на сайте aur archlinux ru справа можно найти View PKGBUILD , !*! mizuchi (?), 03:27 , 31-Мрт-18 (1)
    > Привет всем!
    > Имеется самописная прога которая написана для AUR то есть если я правильно
    > понимаю для ArchLinux.
    > Нужно ее установить в debian. Помогите плиз!!!!!

    На страничке пакета на сайте aur.archlinux.ru справа можно найти "View PKGBUILD". Этот самый PKGBUILD есть инструкция по сборке пакета из исходных кодов. Процесс сборки следующий. Во-первых, нужно установить зависимости, которые указаны в строчке "depends" и/или "makedepends", во-вторых, скачать все, и исходные коды, и патчи, которые написаны в строке "source". Дальше нужно последовательно выполнять инструкции из блоков "prepare" (может отсутствовать) и "build". По идее, если все сделать точно так, как написано, должны получиться требуемые бинарные файлы, которые можно либо сразу использовать по назначению, либо установить в систему: процесс установки - это блок "package".

    Звучит сложно, но в arch все действия выполняются одной командой...

    сообщить модератору +/ответить
  • Если нет исходников - проверьте, насколько консистентны бэкапы И пока работает с, !*! DeerFriend (?), 12:17 , 31-Мрт-18 (4)
    Если нет исходников - проверьте, насколько консистентны бэкапы.
    И пока работает старая инфраструктура, начинайте писать замену.

    Если исходники есть: перепакуйте в deb/rpm/... что больше нравится и пользуйтесь.


    сообщить модератору +/ответить
Свой bash-completion, нужен case-insensetive, !*! Перспективный, (Shell скрипты) 29-Мрт-18, 21:10  [ | | | ] [линейный вид] [смотреть все]
Привет. У меня есть несколько тем иконок(значков), я их периодически меняю/смотрю как с ними что-то выглядит. Для удобства сделал функцию в .bashrс:

function theme-icon { theme=${1:-"hicolor"}; dconf write /org/gnome/desktop/interface/icon-theme "'$theme'"; }

Ну и чтобы было совсем отлично сделал $HOME/.config/bash-completion.d/theme-icon:

_theme-icon()
{
    local cur=${COMP_WORDS[COMP_CWORD]}
    local list=$(while read line; do echo -n "${line%%/*} ";done< <(find -L $HOME/.local/share/icons -maxdepth 2 -type f -name index.theme -prune -printf "%P\n"))
    COMPREPLY=( $(compgen -W "${list}" -- $cur) )
}
complete -F _theme-icon theme-icon

Набираю theme-icon нажимаю Tab, выходит нужный список, нажимаю первую букву и т.д. как ожидалось, но приходится нажимать буквы в нужном регистре "А", а не "а", когда очень хочется case-insensetive.

grep ignore < <(bind -v)
set completion-ignore-case on

То есть эта настройка работает в системе, но в случае моего theme-icon нет. Что тут нужно переделать?

сделать замену строки в файле, !*! Владислав, (Shell скрипты) 28-Мрт-18, 12:42  [ | | | ] [линейный вид] [смотреть все]
Добрый День, подскажите как сделать замену строки  <keepDependencies>false</keepDependencies> на
<keepDependencies>true</keepDependencies>
Нужно закомментировать пару строк в файле-конфиге, !*! universite, (Shell скрипты) 18-Мрт-18, 20:35  [ | | | ] [линейный вид] [смотреть все]

Сабж.

1) закомментировать 5,24,26,27 строки в file.conf

2) закомментировать после строки 'enable_php5="yes"' три последующие строки в file.conf

Явно sed просится...



shaper traffic counter, !*! blasterjon2018, (Shell скрипты) 15-Мрт-18, 13:14  [ | | | ] [линейный вид] [смотреть все]

дравствуйте написал программу подсчета трафика на linux
но шейпер не работает
помогите пожалуйста

Мои сетевые настройки следующие

ens5 - сеть интернет адрес ХХХ.ХХХ.ХХХ.ХХХ
ens2 - локадьная сет адрес 192.168.10.1

IP адрес пользователей хранится в файле /var/www/traf/users следующим образом
192.168.10.2
192.168.10.3
192.168.10.4
 и далее
Если IP не прописанов этом файле то не должно имет доступ к Интернет

программа подсчета трафика приведене ниже


//=================================================

#/bin/bash
date=`date '+%Y-%m-%d'`;
time=`date '+%H:%M:%S'`;

IPTABLES="/sbin/iptables"


$IPTABLES -t mangle -nxvL PREROUTING | awk '/ACCEPT.*ens2/ {print $8,$2}'>/var/www/traf/trafinput

cat /var/www/traf/trafinput | while read line;
do
var1=`echo "$line"|awk '{print $1}'`
var2=`echo "$line"|awk '{print $2}'`
MYSQL_RESULT=`mysql -D trafic -u root --password=12345678 -e "INSERT INTO minutinput (m_date, m_time, m_ip_address, m_input) VALUES('$date','$time','$var1','$var2')"`;
done;


$IPTABLES -F
$IPTABLES -F -t nat
$IPTABLES -F -t mangle
$IPTABLES -X
$IPTABLES -X -t nat
$IPTABLES -X -t mangle
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
$IPTABLES -A INPUT -i lo -p all -j ACCEPT
$IPTABLES -A OUTPUT -o lo -p all -j ACCEPT
$IPTABLES -A INPUT -i ens2 -j ACCEPT
$IPTABLES -A OUTPUT -o ens2 -j ACCEPT
$IPTABLES -A FORWARD -i ens2 -s 192.168.10.0/255.255.255.0 -p tcp -m multiport --dports 21,22,25,110,143,443 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i ens2 -s 192.168.10.0/255.255.255.0 -p udp -m multiport --dports 53 -j ACCEPT
$IPTABLES -A FORWARD -i ens2 -s 192.168.10.0/255.255.255.0 -p tcp -m multiport --dports 53 -j ACCEPT
$IPTABLES -A INPUT -i ens2 -p ICMP -j ACCEPT
$IPTABLES -A OUTPUT -o ens2 -p ICMP -j ACCEPT
$IPTABLES -A INPUT -i ens5 -p tcp -m multiport --dports 22,80,3306 -j ACCEPT
$IPTABLES -A OUTPUT -o ens5 -p tcp -m multiport --dports 22,80,3306 -j ACCEPT

cat /var/www/traf/users | while read line;
do
var1=`echo "$line"|awk '{print $1}'`

$IPTABLES -t mangle -A PREROUTING -i ens2 -s $var1 -j ACCEPT
$IPTABLES -t mangle -A POSTROUTING -o ens2 -d $var1 -j ACCEPT
done;

$IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3128

$IPTABLES -t nat -A POSTROUTING -s 192.168.10.0/255.255.255.0 -j SNAT --to-source ХХХ.ХХХ.ХХХ.ХХХ
$IPTABLES -t nat -A POSTROUTING -o ens5 -j MASQUERADE

//=================================================

программа шейпинга приведена ниже

//=================================
#!/bin/bash
TC=/sbin/tc

IF=ens2             # Interface

DNLD=40kbit          # DOWNLOAD Limit

UPLD=40kbit          # UPLOAD Limit

IP=192.168.10.2     # Host IP

tc qdisc del dev ens5 root
tc qdisc del dev ens2 root
U32="$TC filter add dev $IF protocol ip parent 1:0 prio 1 u32"
$TC qdisc add dev $IF root handle 1: htb default 30
$TC class add dev $IF parent 1: classid 1:1 htb rate $DNLD
$TC class add dev $IF parent 1: classid 1:2 htb rate $UPLD
$U32 match ip dst $IP/32 flowid 1:1
$U32 match ip src $IP/32 flowid 1:2

но программа не работает пожалуйста помогите



Добавление IP адресов и имен в переменную из файла, !*! Saamuel, (Shell скрипты) 26-Дек-17, 12:36  [ | | | ] [линейный вид] [смотреть все]
Здравствуйте,

Необходимо написать скрипт который бы добавлял параметры в переменные из файла.
Скрипт добавляет ДНС записи в яндекс.

#!/bin/bash

NAME="100"
DOMAIN="domain.ru"

ip1="192"
ip2="168"
ip3="1"
ip4="224"

let "ipM = $ip4 + 1"
let "ipC = $ip4 + 2"

M=`echo $ip1.$ip2.$ip3.$ipM`
NAME_M="$NAME"mk

C=`echo $ip1.$ip2.$ip3.$ipC`
NAME_C="$NAME"cs

curl -H "PddToken: 00000000000000000000000" -d "domain=$DOMAIN&type=A&subdomain=$NAME_M&ttl=14400&content=$M" "https://pddimp.yandex.ru/api2/admin/dns/add"
curl -H "PddToken: 00000000000000000000000" -d "domain=$DOMAIN&type=A&subdomain=$NAME_C&ttl=14400&content=$C" "https://pddimp.yandex.ru/api2/admin/dns/add"

В таком виде скрипт отрабатывает нормально для одного филиала. Но проблема в том что таких филиалов более 500.

Помогите доработать скрипт чтоб подставлялись значения для переменных NAME и IP из файла.

Содержимое файла NAME:
100;192.168.0.1/24
101;192.168.1.1/24
102;192.168.2.1/24
103;192.168.3.1/24
104;192.168.4.1/24

сделать замену строки в файле , !*! TazMan, (Shell скрипты) 16-Мрт-18, 11:51  [ | | | ] [линейный вид] [смотреть все]
Добрый День !   подскажите как сделать замену строки $config['create_default_folders'] = true;   в файле на строку $config['create_default_folders'] = false;    
перепробовал всё что знал :) не получается
Скрипт проверки работы локального ДНС, !*! universite, (Shell скрипты) 07-Мрт-18, 20:30  [ | | | ] [линейный вид] [смотреть все]
Нужен сабж.
Пока сделано так (для Дебиана):


if [ -e /usr/sbin/dnsmasq ] && [ -e /etc/dnsmasq.d/localhost ] && [ "$(netstat -ntulp | grep 127.0.0.1:53)" ]; then

...

fi

Но непонятно как чекать ответы вида:
dig +short example.com @localhost


P.S. Да, я в курсе, что localhost имеет несколько IP...

Запуск двух демонов из одного скрипта, !*! NickToLay, (Shell скрипты) 05-Мрт-18, 22:57  [ | | | ] [линейный вид] [смотреть все]
Вот такой скрипт-пример (запуск двух комманд):

echo ">>> RUN#1"
sh -c "./php.exe"
echo ">>> RUN#2"
sh -c "./nodejs.exe"

Пока запуск первой комманды не вернул EXIT CODE (процесс еще висит) скрипт не перейдет к запуску второй комманды. Вопрос в том, как продолжить выполнение скрипта не дожидаясь, пока 1-ый запущенный процесс завершит работу??

Сканер портов на Golang, !*! Saamuel, (Языки программирования) 14-Фев-18, 13:39  [ | | | ] [линейный вид] [смотреть все]
Здравствуйте,

Подскажите решение такой ситуации. Необходимо на go написать скрипт который при запуске будет проверять ip адрес на хосте и сканировать всю локальную сеть на доступность порта 22.

  • Дать бы тебе в моорду и ещё раз ну тут вроде не за что, но меня ужо не ост, !*! _ (??), 00:50 , 15-Фев-18 (1) +1
    > Необходимо на go написать скрипт

    Дать бы тебе в моорду :(
    > который при запуске будет проверять ip адрес на хосте

    ... и ещё раз!
    > и сканировать всю локальную сеть  на доступность порта 22.

    ну тут вроде не за что, но меня ужо не остановишь :-))))

    А по делу -  в Job!
    Тут "за так" студентам подают только документацию. И это прааааилна! :-)
    Если уж "скрипт" то вотЪ: https://golang.org/pkg/os/exec/

    сообщить модератору +1 +/ответить
  • Явно планируется нелегальное применение , !*! Аноним (-), 11:14 , 16-Фев-18 (4) –1
    > Здравствуйте,
    > Подскажите решение такой ситуации. Необходимо на go написать скрипт который при запуске
    > будет проверять ip адрес на хосте и сканировать всю локальную сеть
    > на доступность порта 22.

    Явно планируется нелегальное применение.

    сообщить модератору –1 +/ответить
  • package mainimport os exec func main out, err exec Comm, !*! qwerty_qwert1 (?), 09:30 , 20-Фев-18 (11)
    > Здравствуйте,
    > Подскажите решение такой ситуации. Необходимо на go написать скрипт который при запуске
    > будет проверять ip адрес на хосте и сканировать всю локальную сеть
    > на доступность порта 22.

    package main

    import (
            "os/exec"
    )

    func main() {
            out, err := exec.Command("nmap","-p 22", "127.0.0.1/24").Output()
            if err != nil {
                panic(err)
            }
            print(string(out))
    }


    сообщить модератору +/ответить


Прошу улучшить скрипт для curl, !*! tochki, (Shell скрипты) 09-Дек-17, 21:03  [ | | | ] [линейный вид] [смотреть все]
Хочу отправлять многострочные запросы на сайт, например яндекс. Мой скрипт:

SITE="http://ya.ru";
cat - > ~/input;
curl --data "text=$(cat ~/input)" $SITE;

Вопрос: как закончить редактирование многострочного текста по нажатию ctrl+d -- сразу в запрос curl без помощи файла ~/input (и без использования cat)?

Перефразирую вопрос: команда cat - > ~/input сохраняет многострочный текст в файл. Как сделать чтобы скрипт cat_curl отправлял многострочный текст на сайт?

cat_curl - > www.ya.ru

PS cat привел в качестве примера, потому что уже привык к комбинации ctrl+d

Получить данные из QHeightMapSurfaceDataProxy, !*! v.karak, (GUI, XWindow, Qt, GTK) 05-Фев-18, 09:47  [ | | | ] [линейный вид] [смотреть все]
Всем привет!

Подскажите, пожалуйста, можно ли получить данные координатной сетки из QHeightMapSurfaceDataProxy? Поверхность отрисовывается нормально. Я делал попытки получить данные через:

const QSurfaceDataArray *array = layerNewProxy->array();

и другие, подходящие по смыслу методы, но все что, пробовал возвращает 0 или ASSERT(...).

    Q3DSurface *surface = new Q3DSurface();
    QImage layerOneHMap(":/maps/layer_1.png");
    QHeightMapSurfaceDataProxy *layerOneProxy = new QHeightMapSurfaceDataProxy(layerOneHMap);
    QSurface3DSeries *layerOneSeries = new QSurface3DSeries(layerOneProxy);
    layerOneSeries->setItemLabelFormat(QStringLiteral("(@xLabel, @zLabel): @yLabel"));
    layerOneProxy->setValueRanges(34.0f, 40.0f, 18.0f, 24.0f);
    layerOneSeries->setDrawMode(QSurface3DSeries::DrawSurface);
    layerOneSeries->setFlatShadingEnabled(false);
    surface->addSeries(layerOneSeries);

Массив строк, который заполняю сам - всегда возвращается, но вот тот, что создается через
QHeightMapSurfaceDataProxy никогда :( В Qt только начинаю. Ссылка на пример:

https://doc.qt.io/qt-5.10/qtdatavisualization-surface-exampl...

Буду благодарен, за любую помощь!

  • gt оверквотинг удален Кажется понял в чем проблема Я пытался получить значени, !*! v.karak (ok), 11:42 , 05-Фев-18 (1)
    >[оверквотинг удален]
    >     layerOneSeries->setItemLabelFormat(QStringLiteral("(@xLabel, @zLabel): @yLabel"));
    >     layerOneProxy->setValueRanges(34.0f, 40.0f, 18.0f, 24.0f);
    >     layerOneSeries->setDrawMode(QSurface3DSeries::DrawSurface);
    >     layerOneSeries->setFlatShadingEnabled(false);
    >     surface->addSeries(layerOneSeries);
    > Массив строк, который заполняю сам - всегда возвращается, но вот тот, что
    > создается через
    > QHeightMapSurfaceDataProxy никогда :( В Qt только начинаю. Ссылка на пример:
    > https://doc.qt.io/qt-5.10/qtdatavisualization-surface-exampl...
    > Буду благодарен, за любую помощь!

    Кажется понял в чем проблема.
    Я пытался получить значения сразу после создания объекта QHeightMapSurfaceDataProxy *layerOneProxy, а он заполняется позже, после того как сработает таймер вот здесь:


    348    QHeightMapSurfaceDataProxyPrivate::QHeightMapSurfaceDataProxyPrivate(QHeightMapSurfaceDataProxy *q)
    349        : QSurfaceDataProxyPrivate(q),
    350          m_minXValue(defaultMinValue),
    351          m_maxXValue(defaultMaxValue),
    352          m_minZValue(defaultMinValue),
    353          m_maxZValue(defaultMaxValue)
    354    {
    355        m_resolveTimer.setSingleShot(true);
    356        QObject::connect(&m_resolveTimer, &QTimer::timeout,
    357                         this, &QHeightMapSurfaceDataProxyPrivate::handlePendingResolve);
    358    }


    Поэтому, я создал обработчик на сигнал arrayReset() и уже в нем данные в массиве готовы к использованию


    connect(layerNewProxy, SIGNAL(arrayReset()), this, SLOT(arrayMapDataReset()));

    void Foo::arrayMapDataReset()
    {
        const QSurfaceDataArray *array = layerNewProxy->array();
        if(array) {
            statusBar()->showMessage(QString::number(layerNewProxy->columnCount())+" x "+
                                     QString::number(layerNewProxy->rowCount()));
        }
    }

    сообщить модератору +/ответить
Не выполняется программа Packing Widgets из GTK+ 2.0 Tutorial, !*! hrm, (GUI, XWindow, Qt, GTK) 13-Янв-18, 02:27  [ | | | ] [линейный вид] [смотреть все]
Помогите пожалуйста найти ошибку, почему программа из документации вылетает с ошибкой "Process terminated with status 1".
Ошибка происходит уже в процессе выполнения программы.
При этом в программе есть такой код:
================================================================
  if(argc != 2) {
    fprintf(stderr, "usage: packbox num, where num is 1, 2, or 3.\n");
    /* Очищаем поток выхода GTK и выходим со статусом 1. */
    exit(1);
  }
================================================================
Но тогда в описании ошибки должна быть строка "usage: packbox num, where num is 1, 2, or 3.\n", но ее нет.
Логи не помогли мне найти место ошибки. Подскажите плз где мне искать ошибку. Вот логи, которые выдает CodeBlocks при компиляции и выполнении программы.

==================================================================

-------------- Сборка: Debug in Packing_Widgest (compiler: GNU GCC Compiler)---------------

mingw32-gcc.exe -mms-bitfields -Wall -g -IC:\prog\CodeBlocks\GTK\include -IC:\prog\CodeBlocks\GTK\include\gtk-2.0 -IC:\prog\CodeBlocks\GTK\include\cairo -IC:\prog\CodeBlocks\GTK\include\gdk -IC:\prog\CodeBlocks\GTK\include\glib-2.0 -IC:\prog\CodeBlocks\GTK\lib\glib-2.0\include -IC:\prog\CodeBlocks\GTK\include\pango-1.0 -IC:\prog\CodeBlocks\GTK\lib\gtk-2.0\include -IC:\prog\CodeBlocks\GTK\include\atk-1.0 -IC:\prog\CodeBlocks\GTK\include\gdk-pixbuf-2.0 -c C:\work\GTK\Packing_Widgest\main.c -o obj\Debug\main.o
mingw32-g++.exe -LC:\prog\CodeBlocks\GTK\lib -o bin\Debug\Packing_Widgest.exe obj\Debug\main.o   -lgtk-win32-2.0 -lgobject-2.0 -lglib-2.0 -mwindows
Output file is bin\Debug\Packing_Widgest.exe with size 50,73 КБ
Process terminated with status 0 (0 minute(s), 20 second(s))
0 error(s), 0 warning(s) (0 minute(s), 20 second(s))

-------------- Запустить: Debug in Packing_Widgest (compiler: GNU GCC Compiler)---------------

Проверка наличия: C:\work\GTK\Packing_Widgest\bin\Debug\Packing_Widgest.exe
Выполняется: "C:\work\GTK\Packing_Widgest\bin\Debug\Packing_Widgest.exe"  (в C:\work\GTK\Packing_Widgest\.)
Process terminated with status 1 (0 minute(s), 12 second(s))
=======================================================================

Я не привожу код программы, потому что он есть по адресу https://www.opennet.me/docs/RUS/gtk_plus/x405.html. Программу я вычитал и у меня ошибок нет. Да и компилятор не выдает никаких ошибок.

С уважением, Рамиль.

3DES через OpenSSL на чистом С , !*! kolyanchi, (C/C++) 26-Дек-17, 20:02  [ | | | ] [линейный вид] [смотреть все]
Нужна функция 3DES на чистом С, программирую на Ubuntu. Буду рад любой помощи!
sysctl редактируем, !*! Alex, (Shell скрипты) 12-Окт-17, 16:56  [ | | | ] [линейный вид] [смотреть все]
shell freebsd (/bin/sh)

В установочном скрипте надо отредактировать
/etc/sysctl.conf

- если строка задокументирована, то убрать #
- если нету, добавить
- если не то значение, изменить.

Я делаю через sed с копирование во временный файл.

Не получается красивый читабильный код для всех ветвей.
Хочется наглядности.
Кто как делает?



посчитать количетсво определенного слова в файле, !*! boxerwba, (C/C++) 01-Дек-17, 19:25  [ | | | ] [линейный вид] [смотреть все]
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <stdlib.h>

int main()
{   FILE *myfile;

        int k=0;
        char name[100];
        char word[20];

        printf("Enter name of file: ");
        scanf("%s", name);
        if ((myfile = fopen(name, "r")) == NULL)
        {
         puts ("File is not found");
         exit(0);
        }


        printf("Enter word: ");
        scanf("%s", word);

       return 0;
    }

Помогите дописать код
нужно посчитать количество слова, которое записано в переменной «word», в файле «name»
например ввели слово «dog»
посчитать сколько раз оно повторяеться в файле «new»

Спасибо за внимание и советы!

значение переменной в строковом массиве, !*! creapt, (C/C++) 02-Дек-17, 23:17  [ | | | ] [линейный вид] [смотреть все]
Подскажите пожалуйста.
С++

char OCR_sh[3][5]={"OCR2","OCR1A","OCR1B"};

например: нужно присвоить значение 100 переменной OCR2 (OCR_sh[0]) и в дальнейшем изменять ее значение
OCR_sh[0]=100;
Как, какую функцию применить?

  • strcpy OCR_sh 0 , 100 , !*! pavlinux (ok), 03:47 , 04-Дек-17 (1)
    > OCR_sh[0]=100;

    strcpy(OCR_sh[0], "100");

    сообщить модератору +/ответить
Проверить на ввод символов в переменную, !*! Дима, (Shell скрипты) 29-Ноя-17, 14:01  [ | | | ] [линейный вид] [смотреть все]
Программа суммирует два числа и проверяет пустая ли переменная но мне нужно исключить ввод букв тд и тп Если в переменную будет введено хоть одна буква, то нужно выводить ошибку и выходит со скрипта

Написать скрипт, который добавляет два числа, указанные в командной строке. Если параметров не 2 или параметры не числа - выдать соответствующую ошибку.

прошу помощи и совета

#!/bin/bash
echo -n "Enter first number: "
read n1
if [ -z "${n1// /}" ]
then
    echo "You didn't enter number"
    exit
fi
echo -n "Enter second number: "
read n2
if [ -z "${n2// /}" ]
then
    echo "You didn't enter number"
    exit
fi
sum=$(($n1 + $n2))
echo "The sum of two numbers="$sum

чайниковский вопрос про tty  , !*! Alex_S, (Демоны, Сигналы) 26-Окт-17, 10:30  [ | | | ] [линейный вид] [смотреть все]
сильно не пинайте...

Есть древняя коробочка, внутри линукс 2.4 и busybox.
Ядро грузится, через строку в /etc/inittab стартует agetty  для  ttyS0, которая запускает логин скрипт, который вместо собссно логина просто стартует некую программку. К com-порту можно подцепить терминал и пообщаться с программкой - у нее текстовый интерфейс. Но при разрыве сеанса она, естественно, срубается SIGHUPoм и скрипт ее перезапускает ( или не скрипт а вообще  agetty респаунится  - ну неважно)


хотелось бы избежать перезапусков с возможностью восстановления интерактивности при повторном подключении .

Я мог бы программку сделать демоном - но тогда она перестает быть интерактивной. Собстно вопрос  - это вообще технически возможно , отцепить stdin/stdout программки при закрытии сеанса и прицепить их обратно при новом подключении ?


Использование перенаправлений и конвейера (программного канала), !*! iop, (Shell скрипты) 30-Окт-17, 15:24  [ | | | ] [линейный вид] [смотреть все]
Помогите пожалуйста с заданием,хотя бы начать.
В созданном текстовом файле оставить в каждой строке не более 2-х слов. Остаток перенести в следующую строку. Если вторая строка в паре оказывается пустой - печатать в ней символ '='.
Нужно ли здесь использовать cut и как это сделать?
  • Не нужно, чисто башем while read -a R do while R -ge 1 do , !*! ACCA (ok), 20:02 , 31-Окт-17 (1)
    > Нужно ли здесь использовать cut и как это сделать?

    Не нужно, чисто башем:

    while read -a R ; do
        while [ ${#R[@]} -ge 1 ] ; do
            if [ ${#R[@]} -gt 2 ] ; then
                echo ${R[0]} ${R[1]}
                R=( ${R[@]:2} )
            else
                echo ${R[@]}
                echo =
                R=()
            fi
        done
    done

    сообщить модератору +/ответить
GREP, найти строки содержащие <шаблон1>, кроме <шаблон2>, !*! Assoll, (Shell скрипты) 27-Окт-17, 10:07  [ | | | ] [линейный вид] [смотреть все]
Всем привет

грепаю maillog:
grep -c "imap-login: Login: user=<.*\@domain.ru>, method=PLAIN, rip=.*," /var/log/mail/maillog

всё замечательно,
теперь пытаюсь отсечь строки с внутренними адресами:
grep -c "imap-login: Login: user=<.*\@domain.ru>, method=PLAIN, rip=.*," /var/log/mail/maillog | grep -v "rip=192.168.2"

ничего не меняется.

что я делаю не так?
спасибо

Как работает fork(), !*! rdzxx, (Процессы, Треды, RPC) 14-Окт-17, 11:39  [ | | | ] [линейный вид] [смотреть все]
Не могу разобраться что происходит в момент вызова fork(). Понятно что происходит развоение процеса в точке вызова. Но вот что под копотом непонятно. С памятью понятно там используется 'copy on write' механизм, но вот что с кодом? Откуда потомок берет код?
  • А код он не в памяти , !*! PavelR (??), 13:04 , 14-Окт-17 (1)
    > Не могу разобраться что происходит в момент вызова fork(). Понятно что происходит
    > развоение процеса в точке вызова. Но вот что под копотом непонятно.
    > С памятью понятно там используется 'copy on write' механизм, но вот
    > что с кодом? Откуда потомок берет код?

    А код он не в памяти?

    сообщить модератору +/ответить
  • 1 Копируется окружение память 2 Создаётся пустой чистый , спящий процесс но, !*! pavlinux (ok), 03:28 , 16-Окт-17 (17) +1
    > Не могу

    1. Копируется окружение (память)
    2. Создаётся пустой (чистый), спящий процесс (новый PID)
    3. Скопированное окружение прописывается новому процессу.
    4. Процесс будят (суют в конец очереди планировщика).
    5. Отваливают.
    6. Новый процесс доходит до очереди к процессору. Ура!!!

    сообщить модератору +1 +/ответить


 
Пометить прочитанным Создать тему
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Архив | Избранное | Мое | Новое | | |



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру