массивы C/С++
Есть данный код. Почему "(1 + 3)[a]" выводит число 6? Почему это вообще работает?
int a[] = {2, 3, 4, 5, 6, 7};
std::cout << (1 + 3)[a];
Есть данный код. Почему "(1 + 3)[a]" выводит число 6? Почему это вообще работает?
int a[] = {2, 3, 4, 5, 6, 7};
std::cout << (1 + 3)[a];
Такая проблема. Данные приходят на synchronous serial port(он же sport). Судя по /proc/config.gz в ядре включен «Blackfin SPORT driver for direct raw access», и вроде этого достаточно. Но в /dev ничего нет. Вот что находится в /dev
Судя по примеру, должено быть что-то вроде /dev/sport0. Почему он не появляется, как его туда вернуть?
Подскажите как собрать qt. Скачал я дистр. В директории blackfin-buildroot/package/qt5/ лежит файл qt.mk, что с ним делать?
прилетело обновление mesa 11.2.0, наконец заработала 3 арма на свободных дровах
нужно записать часть потока с ютуба в формате 1080p.
mp4 не подошел, ему почему не удается задать время старта.
Приходится использовать webm(кодек в данном случае VP90). Видео вопроизводится нормально, но как только делаю stream_out_duplicate в файл(или на дисплей как в коде), видео крашится на квадраты.
пробовал указывать #transcode{vcodec=VP90}, но это не помогло.
Причем не важно откуда идет поток, с локального файла или ютуба.
libvlc_instance_t * inst;
libvlc_media_player_t *mp;
libvlc_media_t *m;
char* arguments[] = {
"--noaudio",
"--sub-source=marq",
};
inst = libvlc_new (2, arguments);
QString streamoption;
url = "https://r17---sn-axq7sn7e.googlevideo.com/videoplayback?id=77123d856c8dbb9a&itag=248&source=youtube&requiressl=yes&pl=23&mm=31&mn=sn-axq7sn7e&mv=m&ms=au&ratebypass=yes&mime=video/webm&gir=yes&clen=2191736758&lmt=1430499939760211&dur=8226.133&signature=675883FC87470993EEEFC53199A16590C2EC45DE.97F8C3FB02CD70AEA389EB82128C4DB74009203A&sver=3&fexp=9407117,9416126,9416916,9420452,9422596,9422970,9423661,9423662,9424134,9426720,9427667,9427677,9428043,9428092,9428376,9428432,9428469,9428650&upn=EKfkRq1NQqs&key=dg_yt0&mt=1455489552&ip=91.215.122.51&ipbits=0&expire=1455511250&sparams=ip,ipbits,expire,id,itag,source,requiressl,pl,mm,mn,mv,ms,ratebypass,mime,gir,clen,lmt,dur";
url = "file:///C:/Users/nexus/1.webm";
m = libvlc_media_new_location (inst, url.toStdString().c_str());
streamoption = ":sout=#stream_out_duplicate{dst=display}";
libvlc_media_add_option(m, streamoption.toStdString().c_str());
streamoption = ":start-time=" + QString::number(startTimeS);
libvlc_media_add_option(m, streamoption.toStdString().c_str());
streamoption = ":stop-time=" + QString::number(stopTimeS + 1);
libvlc_media_add_option(m, streamoption.toStdString().c_str());
mp = libvlc_media_player_new_from_media (m);
/* No need to keep the media now */
libvlc_media_release (m);
/* play the media_player */
libvlc_media_player_play (mp);
пытаюсь ядро 4.3.0 собрать, получаю такую ошибку
make[1]: *** Нет правила для сборки цели «n», требуемой для «certs/x509_certificate_list». Останов. Makefile:941: ошибка выполнения рецепта для цели «certs»
сабж
Хочу сделать из usb wi-fi адаптера(Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter), точку доступа. Точку доступа видно, аутентификацию проходит, но застревает на получение ip. в ifconfige увидел, что кто-то дропает пакеты, думал iptables, но его отключение не помогло. В локалку DHCP нормально раздает Ip.
hostapd.conf
interface=wlan0
hw_mode=g
channel=11
ieee80211d=1
country_code=RU
ieee80211n=1
wmm_enabled=1
ssid=ssid
auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
wpa_passphrase=password
preup() {
rfkill unblock all
}
modules_wlan0="!iwconfig !wpa_supplicant"
mode_wlan0="Ad-hoc"
config_wlan0="192.168.5.1/24"
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.5.1 netmask 255.255.255.0 broadcast 192.168.5.255
inet6 fe80::a2f3:c1ff:fe0f:95f2 prefixlen 64 scopeid 0x20<link>
ether a0:f3:c1:0f:95:f2 txqueuelen 1000 (Ethernet)
RX packets 1768 bytes 249670 (243.8 KiB)
RX errors 0 dropped 289 overruns 0 frame 0
TX packets 2610 bytes 477740 (466.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0 IEEE 802.11bgn Mode:Master Tx-Power=20 dBm
Retry short limit:7 RTS thr=2347 B Fragment thr:off
Power Management:off
on commit {
set client_ip = binary-to-ascii (10,8,".", leased-address);
set client_domain = pick (config-option domain-name, config-option server.ddns-domainname);
set client_host = pick (option host-name, host-decl-name);
execute ("/usr/lib/calculate/calculate-server/bin/dhcp", "--host", client_host, "--domain", client_domain, "--ip", client_ip, "-s", "ou=DNS,ou=Services,dc$
ddns-update-style none;
authoritative;
update-static-leases on;
default-lease-time 6000;
max-lease-time 72000;
subnet 10.0.0.0 netmask 255.255.255.0 {
option broadcast-address 10.0.0.255;
option subnet-mask 255.255.255.0;
option routers 10.0.0.1;
option domain-name "local";
option domain-name-servers 10.0.0.1;
range 10.0.0.2 10.0.0.50;}
host calculate {
fixed-address 10.0.0.1;
hardware ethernet 00:1b:21:bd:11:38;}
subnet 192.168.5.0 netmask 255.255.255.0 {
option broadcast-address 192.168.5.255;
option subnet-mask 255.255.255.0;
option routers 192.168.5.1;
option domain-name "local";
option domain-name-servers 192.168.5.1;
range 192.168.5.2 192.168.5.50;}
Был в отпуске в Италии, там взял машину на прокат. в прокате потребовали кредитку(ее заранее, перед отпуском сделал у ВТБ). Заблокировали на ней 400 евро. Отдал обратно машину, в офисе менеджер куда-то звонил, после чего сказал что деньги разблокировали. По факту мне сейчас в банке сказали, что деньги списались.
Что делать?
http://geektimes.ru/post/244968/
Со второй попытки приложение «Антиколлектор» окончательно удалено из Google Play. Первый раз его удаляли за «неправильный сбор» пожертвований. Причем приложение тогда пропало и с телефонов пользователей, уже установивших его.
для Ъ: яндекс браузер позволяет в режиме «турбо» просматривать запрещенные сайты, что очень не понравилось Мизулиной.
Кто не верил что тесла не пригодна для нашего климата http://www.youtube.com/watch?v=Z55Q4GRdZIs
для Ъ: в Барнауле, из за тридцати градусных морозов, Tesla проходит принудительное испытание своей живучести в нашем климате
http://www.vesti.ru/doc.html?id=459587&cid=780
Корпорация Microsoft зарабатывает на операционной системе Android, принадлежащей Google, больше, чем на своей собственной платформе - Windows Phone 7 (WP7). Согласно докладу аналитика Citi Уолтера Притчарда, софтверный гигант получает по 5 долларов с каждого смартфона производства HTC.
Microsoft получает отчисления благодаря урегулированию в апреле 2010 года патентного иска с тайваньской компанией, напоминает Business Insider. Сейчас в Редмонде судятся и с другими производителями аппаратов на платформе Android, требуя с них от 7,50 до 12,50 долларов за один гаджет.
По оценке другого аналитика Citi, Кевина Чана, операционная прибыль производителей «гуглофонов» в среднем составляет от 10 до 15%, а Android-планшетов - всего 2-3%. Windows Phone 7 для смартфонов и планшетов становится все более привлекательной платформой, считает Притчард, поскольку с каждым новым урегулированным иском маржа производителей падает все сильнее.
Засудить компании, использующие Android, сейчас пытаются Apple, Microsoft и Oracle. Последняя, в частности, утверждает, что в Android незаконно используются файлы исходного кода Java, принадлежащих ей. В октябре 2010 года разработчик ПО передал в федеральный суд США шесть страниц программного кода платформы, заявив, что они были непосредственно скопированы из Java.
В апреле этого года Google объявила о намерении потратить 900 миллионов долларов на выкуп шести тысяч патентов у канадской Nortel Networks, чтобы оградить себя от судебных разбирательств. Патентный портфель Nortel, проходящей сейчас процедуру банкротства, состоит из технологий беспроводной связи, 4G-сетей, передачи данных и многих других.
если c Tcp все понятно то вот с udp нет
переделывал код передачи и приема с tcp
пытаюсь передать файлы по udp, если вставить задержку в 30 милисекунд то примет все пакеты, а без этой задержки теряется почти все
/*SEND*/
QUdpSocket* udpSocket = new QUdpSocket;
udpSocket->connectToHost(QHostAddress::LocalHost,2323);
connect(udpSocket,SIGNAL(error(QAbstractSocket::SocketError)),SLOT(slotError(QAbstractSocket::SocketError)));
QFile file("10-the_coasters-down_in_mexico.mp3");
QByteArray arr;
file.open(QIODevice::ReadOnly);
int progr = 0;
// m_pprb->setRange(0,file.size());
QByteArray datagram;
while(!file.atEnd()){
arr = file.read(1400);
msleep(30);
QDataStream out(&datagram, QIODevice::WriteOnly);
out.setVersion(QDataStream::Qt_4_7);
qApp->processEvents();
progr +=arr.size();
out << qint64(0);
out << file.fileName() << progr << file.size() << arr;
out.device()->seek(qint64(0));
out << qint64(datagram.size() - sizeof(qint64));
udpSocket->write(datagram);
}
/*READ*/
QByteArray datagram;
datagram.resize(udpSocket->pendingDatagramSize());
QHostAddress* address = new QHostAddress;
udpSocket->readDatagram(datagram.data(),datagram.size(),address);
QDataStream in(&datagram, QIODevice::ReadOnly);
quint64 size = -1;
if(in.device()->size() > sizeof(quint64)){
in >> size;
}
else return;
if(in.device()->size() - sizeof(quint64) < size) return;
int progr = 0;
QString fileName;
quint64 maxRange = 0;
QByteArray arr;
in >> fileName >> progr >> maxRange >> arr;
QFile file(fileName);
file.open(QIODevice::Append);
file.write(arr);
file.close();
m_pprb->setRange(0,maxRange);
StepProgressBar(progr);
не могу разобраться QDataStream.
как я понял этот код должен скопировать files2.png в file.png
Вот только file.png не открывается.
QApplication a(argc, argv);
QFile file("file.png");
if(file.open(QIODevice::WriteOnly)) {
QDataStream stream(&file);
stream << QImage("files2.png");
}
Не пойму в чем проблема, если не инициализировать point_y в конструкторе то все работает, а если инициализировать, то программма вылетает с ошибкой.
class myDraw : public QWidget {
Q_OBJECT
protected:
int point_x,Y23;
virtual void paintEvent(QPaintEvent*);
public:
myDraw (QWidget* pwgt = 0);
public slots:
void on_pushButton_clicked();
};
#include <QtGui>
#include "myDraw.h"
myDraw::myDraw(QWidget* pwgt):QWidget(pwgt),point_x(0),point_y(0)
{
QPushButton* draw = new QPushButton("try");
QObject::connect(draw,SIGNAL(clicked()),
SLOT(on_pushButton_clicked()));
QHBoxLayout* phbxLayout = new QHBoxLayout;
phbxLayout->addWidget(draw);
setLayout(phbxLayout);
}
void myDraw::paintEvent(QPaintEvent *)
{
QPainter p( this );
p.setRenderHint(QPainter::Antialiasing,true);
p.setPen(QPen(Qt::red,3,Qt::SolidLine));
p.drawLine(QPointF(point_x,10),QPointF(10,500));
}
void myDraw::on_pushButton_clicked()
{
point_x = 20;
repaint();
}
объясните пожалуйста
есть два класса к примеру
class A{
int a;
public:
...
void printA();
...
};
есть класс B
class B{
A *A1;
public:
B(){A1 = new A;}
~B(){delete A1;}
void print(){A1->printA();} вот почему так работает, а если написать A1.printA(); то не работает?Где пробелы в знаниях?
};
задался вопросом куда на корне делось место,причем аж целых 6 гигов съел.
есть некоторый раздел размером терабайт, и монтируется в папку N но видимо из-за недавнего отключения электричества раздел не монтируется,пишет can't read superblock. Зато в папке N присутствует все файлы с этого раздела,правда частично, место кончилось.
P.S. ничего не курил
Партия «Единая Россия» сообщает о краже Нобелевской премии у Виктора Петрика.
О факте кражи сообщается в статье под названием «У Петрика украли Нобелевскую премию», размещенной на партийном портале ER.RU.
Как сообщается, после вчерашнего оглашения решения Шведской королевской академии наук имен лауреатов Нобелевской премии по физике за 2010 год, в среду, 6 октября, в редакцию ER.RU обратился академик РАЕН Виктор Петрик.
Партия сообщает, что «изобретатель готов документально доказать, что самая престижная в мире физики награда за «открытие и выделение свободного одноатомного слоя углерода, и объяснение его выдающихся электронных свойств» присуждена бывшим российским ученым Константину Новоселову и Андрею Гейму незаслуженно».
написал скрипт с правилами для iptables для фалопомойки
#!/bin/bash
IPTABLES=/sbin/iptables
# сбрасываем все правила $IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
# Разрешаем всё на локальном интерфейсе
#iptables -t filter -A INPUT -d 127.0.0.1 -j ACCEPT
#iptables -t filter -A OUTPUT -s 127.0.0.1 -j ACCEPT
# разрешим входящие udp и icmp
$IPTABLES -A INPUT -p udp -j ACCEPT
$IPTABLES -A INPUT -p icmp -j ACCEPT
$IPTABLES -A INPUT -p tcp -m multiport --destination-port 139,22,80 -j ACCEPT
$IPTABLES -A INPUT -p tcp -m multiport --sport 139,22,80 -j ACCEPT
$IPTABLES -A INPUT -p tcp -m multiport --destination-port 10000 -j ACCEPT
$IPTABLES -A INPUT -p tcp -m multiport --destination-port 8112 -j ACCEPT
вот так все работает, а если сменить $IPTABLES -P OUTPUT ACCEPT на DROP то соединение по ssh пропадает,samba не монтируется.
так вот стоит ли OUTPUT менять на DROP,и почему при смене пропадает соединение хотя порт открыт
следующие → |