
Dolphin
22.01.2018
17:06:46
2. увеличить c2
3. вызвать внешнюю
или 2. вызвать внешнюю
3. увеличить с2
так?

Google

Berkus
22.01.2018
17:07:19
Ну он увеличил копию с2 а потом вызвал все со старым значением
Надо спеку читать, я не знаю эту систему команд

Dolphin
22.01.2018
17:08:19
?
он преинкрементил оригинал и начал вызовы
баг или фича? :)
так работает правильно:
UART_Send(w_2_a(c2));
UART_Send(b_2_a(c2));
c2++;

Pavel
22.01.2018
17:10:43
ну надо саму функцию смотреть в каждом случае, может меняются регистры через которые передаются аргументы и там это не оригинал?
зависит от того сколько раз функцию вызвали
в одном такая оптимизация в другом такая

Berkus
22.01.2018
17:11:13
Что за компиль?

Pavel
22.01.2018
17:11:30
или работает то всётаки не правильно?

Dolphin
22.01.2018
17:11:47

Google

Dolphin
22.01.2018
17:11:55
так правильно

Pavel
22.01.2018
17:13:03
ну вполне может и баг. я бы с такими вопросами сходил в мейлинг лист. у них там наверняка 3.5 программиста на весь авр компилятор )

Dolphin
22.01.2018
17:13:35

Berkus
22.01.2018
17:13:36
То же хотел предложить, проверь баглист

Dolphin
22.01.2018
17:13:49
спасибо!

Vsevolod
22.01.2018
17:52:12
подождите, а с чего вы взяли, что в f(g(x++)) f должен вызваться с инкрементированным x?
где тут sequence point?
судя по стандарту, это определено только в с++, но не в c
At a function return, after the return value is copied into the calling context. (This sequence point is only specified in the C++ standard; it is present only implicitly in C.)

Baruch
22.01.2018
18:22:54
http://cppconf.ru/workshops/pavel-filonov
все же видели, да?

Thorn
22.01.2018
18:26:07

Berkus
22.01.2018
18:28:18
f(g(x))
++x;
валидная интерпретация в си
v=g(x++)
f(v)
в с++

Thorn
22.01.2018
18:28:57

Berkus
22.01.2018
18:29:30
да и в g() похоже тоже

Google

Berkus
22.01.2018
18:30:09
> it is present only implicitly in C.)
такое себе конечно

Thorn
22.01.2018
18:30:39
ну, K&R должны были подумать, прежде чем пихать такие фичи в язык, лол

Berkus
22.01.2018
18:36:40
они про sequence points и не слышали поди

Ioann V
22.01.2018
18:43:40
Спасибо С++ за ключевое слово register :) Или это тупо Сишное ?

fox.cpp
22.01.2018
18:44:32

Ioann V
22.01.2018
18:45:08
А что на счет Сишечки ?
Там тоже ?

Артем
22.01.2018
18:46:47
А какая причина удаления?
C++17: Удалено.

fox.cpp
22.01.2018
18:48:17

Ioann V
22.01.2018
18:48:30
мне тоже довольно интересно, т.к это единственный способ, более менее способ - работать с регистровой памятью

fox.cpp
22.01.2018
18:48:36

Ioann V
22.01.2018
18:48:43
которая, как известно - быстрее всех кешей вместе взятых

fox.cpp
22.01.2018
18:49:13
Ну, компилятор может игноировать твои просьбы, а может и по собственной инициативе положить переменную в регистр.

Ioann V
22.01.2018
18:49:22
ну это я знаю, да.

fox.cpp
22.01.2018
18:50:32
А какая причина удаления?
The register keyword serves very little function, offering no more than a hint that a note says is typically ignored. It should be deprecated in this version of the standard, freeing the reserved name up for use in a future standard, much like auto has been re-used this time around for being similarly useless.
— http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4193.html#809

Артем
22.01.2018
18:51:17
Спс

Artur
22.01.2018
19:10:04
Ребят, кто openGL шарит?
#include <GL/glut.h>
#include <iostream>
#include <math.h>
#include <string>
using namespace std;
void display() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0.0, 0.0, 0.0);
//Рисуем Систему Координат
glBegin(GL_LINES);
glVertex3f(0, 50, 0);
glVertex3f(0, -50, 0);
glVertex3f(-50, 0, 0);
glVertex3f(50, 0, 0);
glEnd();
//Рисуем график функции
glBegin(GL_POINTS);
for (int x = 0; x <= 2; x += 0.01) {
glVertex2f(x,2*acos(x-1);
}
glEnd();
glFlush();
}
int main(int argc, char **argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(640, 640);
glutInitWindowPosition(100, 100);
glutCreateWindow("Function");
glClearColor(1.0, 1.0, 1.0, 1.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-1.0, 1, -1.0, 1.0, -1.0, 1.0);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}

Egor
22.01.2018
19:10:23
Код лучше не сюда, а на pastebin.com хотя бы с подсветкой синтаксиса.

Google

Artur
22.01.2018
19:10:35
сейчас)
https://pastebin.com/LKbEwNHS
спасибо заранее))
(Если что, задание: построить график функции : y = 2*arccos(x-1))

Egor
22.01.2018
19:14:06
А что происходит?

fox.cpp
22.01.2018
19:14:18

Artur
22.01.2018
19:15:25
мне надо чтобы выводился график функции y = 2*arccos(x-1);

Admin
ERROR: S client not available

Artur
22.01.2018
19:16:02
я написал цикл
а точки не выводит?
Пробовал использовать GL_LINE_STRIP
всёравно

Egor
22.01.2018
19:17:55
А что выводит?
Какие функции вызываются, какие нет? Есть ли у вас хоть одна простая работающая программа на OpenGL, которая что-то выводит на экран?

Artur
22.01.2018
19:18:50
Да, сейчас скину

Egor
22.01.2018
19:19:56
И — внимание — почему вы скинули некомпилирующийся код? У вас там синтаксические ошибки. Вы, кажется, что-то неаккуратно вырезали или попробовали исправить прямо на ходу.

Дмитрий
22.01.2018
19:21:09
А ещё есть @pro.graphon, там графон знают лучше)

Artur
22.01.2018
19:21:30
Да, не аккуратно, сейчас перескину)
Вот я нарисовал график функции y = x; using GL_LINE_LOOP;

Дмитрий
22.01.2018
19:22:55
Судя по glBegin, пишете вы на оч древнем OpenGL

Google

Максим
22.01.2018
19:23:13
Строка 22: х+=1, а почему не ++ или тебе там надо менять шаг цикла?

Artur
22.01.2018
19:24:28
В этом фото я просто показал что есть рабочая программа
Какие функции вызываются, какие нет? Есть ли у вас хоть одна простая работающая программа на OpenGL, которая что-то выводит на экран?
так как у меня только эта функция работает
у меня всегда была проблема с поиском документации))
Судя по glBegin, пишете вы на оч древнем OpenGL

Egor
22.01.2018
19:25:08
Кажется, что та функция, график которой вы строите, не имеет точек в квадрате [-1;1] x [-1; 1]:
http://www.wolframalpha.com/input/?i=2*acos(x-1)
Поэтому ничего и не выводится.


Alex Фэils?︙
22.01.2018
19:26:26
#include <GL/glut.h>
#include <iostream>
#include <math.h>
#include <string>
using namespace std;
void display() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0.0, 0.0, 0.0);
//Рисуем Систему Координат
glBegin(GL_LINES);
glVertex3f(0, 50, 0);
glVertex3f(0, -50, 0);
glVertex3f(-50, 0, 0);
glVertex3f(50, 0, 0);
glEnd();
//Рисуем график функции
glBegin(GL_POINTS);
for (int x = 0; x <= 2; x += 0.01) {
glVertex2f(x,2*acos(x-1);
}
glEnd();
glFlush();
}
int main(int argc, char **argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(640, 640);
glutInitWindowPosition(100, 100);
glutCreateWindow("Function");
glClearColor(1.0, 1.0, 1.0, 1.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-1.0, 1, -1.0, 1.0, -1.0, 1.0);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
Скобку забыл где кос

Artur
22.01.2018
19:26:44
Это пофиксил, спасибо)
Скобку забыл где кос

Alex Фэils?︙
22.01.2018
19:26:57
/extra list

Group Butler [beta]
22.01.2018
19:27:00

Artur
22.01.2018
19:27:07
Сейчас в вольфраме гляну)
Кажется, что та функция, график которой вы строите, не имеет точек в квадрате [-1;1] x [-1; 1]:
http://www.wolframalpha.com/input/?i=2*acos(x-1)

Berkus
22.01.2018
19:27:25

Ioann V
22.01.2018
19:33:48
Ыыыы

Xeffo
22.01.2018
21:14:15
Кто знает, как можно из C++ запустить CMD/PowerShell и оттуда запустить defrag с параметрами?