Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по программированию на C/С++

Автор: Olim98
Дата сообщения: 03.10.2013 16:57
Abs62
огоромное спасибо, а то я уже замучался с этой кодировкой) ne_viens вам тоже большое спасибо за помощь))
Автор: bomzzz
Дата сообщения: 03.10.2013 17:38
Olim98
я не понял что исходный код есть
Автор: Olim98
Дата сообщения: 03.10.2013 19:01

Цитата:
CONSOLE_Print( "[INFO: " + m_ServerAlias + "] " + Message );

[more]
Цитата:
void CONSOLE_Print( string message )
{
cout << message << endl;

// logging

if( !gLogFile.empty( ) )
{
if( gLogMethod == 1 )
{
ofstream Log;
Log.open( gLogFile.c_str( ), ios :: app );

if( !Log.fail( ) )
{
time_t Now = time( NULL );
string Time = asctime( localtime( &Now ) );

// erase the newline

Time.erase( Time.size( ) - 1 );
Log << "[" << Time << "] " << message << endl;
Log.close( );
}
}
else if( gLogMethod == 2 )
{
if( gLog && !gLog->fail( ) )
{
time_t Now = time( NULL );
string Time = asctime( localtime( &Now ) );

// erase the newline

Time.erase( Time.size( ) - 1 );
*gLog << "[" << Time << "] " << message << endl;
gLog->flush( );
}
}
}
}

[/more] это тебе ничего не говорит))))?
Автор: SuperDimon007
Дата сообщения: 04.10.2013 18:10
Помогите пожалуйста. Нужно на C++ написать программу вычисления интеграла функции. Вычисление оформить в виде функции: integr(x, y, e, function f : real), где f - имя подинтегральной функции. Я создаю функцию

Код:
double f1 (double x) {
return x;
}
double integr (double x, double y, double e, f) {
//вычисление интеграла
return f(0.1);
}
int main () {
integr(1,1,1, f1);
return 0;
}
Автор: ne_viens
Дата сообщения: 04.10.2013 19:09
double integr (double x, double y, double e, double (*f)(double)) {
//...
Автор: AlekXL
Дата сообщения: 05.10.2013 16:56
у меня вопросик по VC++ ATL Com object

во-общем, есть одна LGPL либа, которая экспортирует свои функции через COM.


Мне нужно, чтобы можно эту либу было использовать без регистрации в системе(на Дельфи, то есть дельфи конечно может использовать COM, но задача -- не использовать).

Как это сделать?
Типа dllGetClassObject сразу вызывать, или надо что-то добавить в самих исходниках(я сумел их перекомпилить, но знаний по "кухне" ATL у меня нету)??
Автор: karakurt2
Дата сообщения: 08.10.2013 16:49
AlekXL
без регистрации никак, только переделывать библиотеку, если есть доступ к исходникам
Автор: SuperDimon007
Дата сообщения: 01.11.2013 18:12
А можно на C++ сделать динамическую функцию типа такой:

Код:
int a = 1;
b = function(int a) {return a+10;};
int c = b(a);
Автор: Abs62
Дата сообщения: 01.11.2013 18:40
SuperDimon007

Код: typedef int ( *my_func_type )( int );

int func( int a ) { return a + 10; }

...

int a = 1;
my_func_type b = func;
int c = b( a );
Автор: BagaBaga
Дата сообщения: 01.11.2013 20:23

Цитата:
А можно на C++ сделать динамическую функцию типа такой:


int a = 1;
b = function(int a) {return a+10;};
int c = b(a);



Если С++11, то можно проще (через лямбды)


Код:
auto func = [](int n) { return n +10; };
int my_val = func(20);
Автор: Aktaf
Дата сообщения: 13.11.2013 16:13
Ранее уже обращался начиная тут:
http://forum.ru-board.com/topic.cgi?forum=33&topic=3174&start=4400#14
В последующем все проблемы решил и до сих пор проделал ряд работ.
Теперь у меня просьба Программистам, я изменил расположения настроек одном окне в Вертуал Дабе, чтобы было более понятным для пользователей. Но, если до сих пор никого не смущал, теперь стали задавать вопросы. В принципе справедливый, хотя до сих пор никого это не смущало. Чтобы легче задать и понять о чем. Это было в начале:
http://i58.fastpic.ru/big/2013/1113/bf/5100c901a4cc7e698aaca614f087adbf.jpg
А это после изменени:.
http://i58.fastpic.ru/big/2013/1113/df/d8c77c7a5bc8400acc60fdd6943cdcdf.jpg
Опцию - "Перевод в:..." перенес в первый раздел - "Регулировка входной частоты".
Каждая опция меняли только по одной. Если в первом разделе меняем, то во втором не трогаем или наоборот. А внутри разделов менять сразу в двух, программа не позволяет.
Теперь, в первым разделе, новую опцию можно выбирать вне зависимости от выбора "новой" опции. Как мне их ограничить, где в исходнике искать? Как называться эта возможность в файлах исходника - установка точки?
Спасибо.
Автор: Abs62
Дата сообщения: 13.11.2013 16:58
Aktaf

Цитата:
Опцию - "Перевод в:..." перенес в первый раздел - "Регулировка входной частоты".

А какой, собственно, смысл опцию регулировки выходной частоты переносить в раздел "Регулировка входной частоты", к которому она никакого отношения не имеет?

Цитата:
Теперь, в первым разделе, новую опцию можно выбирать вне зависимости от выбора "новой" опции.

Это как?
Автор: V0lt
Дата сообщения: 13.11.2013 17:53
Aktaf
Не надо ничего менять в этом окне.

Вот более правильный перевод:

Картинка сделана из VirtualDub pack rev.12 Русская версия.
Автор: Aktaf
Дата сообщения: 13.11.2013 18:40
V0lt
Спасибо большое. Теперь все стало логичным. А вопрос оказался не по теме.
Раз уж завел, то чтобы закончить. Я стал переделывать не ради перевода в другой раздел, а ради того чтобы указать - "Перевод в: ____ кадр/сек, вместе с аудио.
Теперь найду выход. Но вопрос, правильно ли сделал эту строчку?
Просто, люди часто ищут эту возможность, на мой взгляд так подсказка?
А эту опцию - Перевод в: ____, вместе с другими изменениями в верхнем разделе можно ли использовать?
Установить:
"Изменять аудио и видео для совпадения длины" (эту даже не знаю, без рассинхрона наверно можно только при не большой разницы? Никогда не пробовал).
И еще не так ли должно переводиться примечание: "Примечание: Смена кадров приведет к рассинхронизации аудио/видео" (тогда скорее предупреждение).
Автор: kvazigorynich
Дата сообщения: 17.11.2013 16:38
Кто-нибудь может подсказать с вот каким вопросом.

Собираю под msys. Исходники имеют расширение с. Так вот для того чтобы правильно собрались под виндой мне их надо переименовать в *.cpp. В makefile изменил расширения исходных файлов на cpp. Но командой make объектные файлы из этих cpp не генерятся.

Еще заменил такую конструкцию

OBJS1 = ${SRCS:.c=.o}
на
OBJS1 = ${SRCS:.cpp=.o}

Что еще надо сделать?

Или может кто подскажет как сделать так чтобы компилятор воспринимал код как С++? А то он начинает тупить на этих файлах и конструкции типа extern ему не нравятся.

Вот такую ошибку выдает.


Код: error: expected identifier or '(' before string constant
Автор: Abs62
Дата сообщения: 17.11.2013 17:58
kvazigorynich
Так а язык-то какой на самом деле в этих файлах, C или C++? Разбор синтаксических конструкций языка, в общем-то, от системы не зависит. Может, загвоздка всё-таки в чём-то другом?
Автор: kvazigorynich
Дата сообщения: 17.11.2013 18:06
Abs62

Язык с++. Когда изменил расширение файла на cpp, он нормально собрался.

А dll'ка не собирается. Когда я сменил расширение файлов необходимых для ее сборки на cpp, то dll собирается без тех функций что в этих cpp файлах находятся. Т.е. они как будто не учитываются при ее создании.

Изначально приложение создано под никсы. А я его в виндах собрать пытаюсь.
Автор: Abs62
Дата сообщения: 17.11.2013 18:16
kvazigorynich
В линуксовых приложениях обычно в комплекте идёт скрипт конфигурации, который и генерирует нужный makefile под используемый компилятор и систему. Все дополнительные настройки делаются через командную строку этого скрипта. Что за приложение-то?
Автор: kvazigorynich
Дата сообщения: 17.11.2013 18:34
Abs62

Я использовал скрипт. Но как я прочел, gcc вроде как по расширению файла пытается понять что его ждет внутри файла. Это косвенно подтверждается тем что при смене расширения, ехе собрался. Причем я ничего больше не менял. Только сменил расширение.

Буду разбираться.
Автор: Abs62
Дата сообщения: 17.11.2013 19:03
kvazigorynich
Все C/C++ компиляторы по умолчанию определяют язык по расширению файла. И всем им явно можно задать язык соответствующей опцией при компиляции. Для gcc это опция "-x имя_языка", насколько я помню.
Автор: kvazigorynich
Дата сообщения: 17.11.2013 19:21
Abs62

Я как раз про опцию эту и спрашивал. Я видимо не с той стороны к поиску решения подошел.

Спасибо за ответ.
Автор: V1s1ter
Дата сообщения: 28.11.2013 01:05
Простите если кто-то посчитает это офтопом, но я не уверен что этот вопрос только Qt может он вообще лежит в области построения проектов в С/С++.
Пробую собрать библиотеку Qt3D в QtCreator, qmake отрабатывает без ошибок, но вот jom ругается

Код: C:\qt\qt-qt3d\src\threed\painting\qglabstracteffect.h(45) : fatal error C1083: Qt3D/qglpainter.h: No such file or directory
jom: C:\Qt\Qt3D\src\threed\Makefile.Release [.obj\release_shared\qglabstracteffect.obj] Error 2
Автор: kkuuhhaa
Дата сообщения: 04.12.2013 18:12
Хочу взять функцию BZ2_bzBuffToBuffDecompress из bzip2. Программа собралась, но "ошибка при запуске 0x7b". Мало того, что этот модуль не ищется в bzip2.lib, так от ещё указан для поиска (из dumpbin) не в библиотеке, а в bzip2.exe Можно ли "отвязать" программу от dll или как сделать правильно
Автор: ne_viens
Дата сообщения: 04.12.2013 21:32
Можно код bzip'a скомпилировать в прогу:

Код:
// cl test.c bzlib.c compress.c decompress.c crctable.c randtable.c huffman.c blocksort.c
#include <stdio.h>
#include <stdlib.h>
#include "bzlib.h"

char test[] = "thisisjustatest";
main()
{
    int len;
    char buf[0x100], buf2[0x100];
    
    len = sizeof(buf);
    BZ2_bzBuffToBuffCompress(buf, &len, test, sizeof(test), 5, 0, 0);
    BZ2_bzBuffToBuffDecompress(buf2, &len, buf, len, 0, 0);
    puts(buf2);
}
Автор: kkuuhhaa
Дата сообщения: 05.12.2013 08:48
ne_viens
Спасибо. Странно, когда в таком виде - нормально, а когда подключаю библиотеку test.lib получается облом. Как отключить создание библиотеки? И ещё. неужели нельзя заранее узнать в bzip2 размер разархивированного файла?
Автор: ne_viens
Дата сообщения: 05.12.2013 09:29
В каком смысле отключить создание?
Просто не создавать и всё (не выполнять команду lib test.obj bzlib.obj ...).
Автор: kkuuhhaa
Дата сообщения: 05.12.2013 11:08
ne_viens
Обычно компиляция на выходе даёт .obj и .exe. Если же запускаю код с api bzip2, то зачем-то дополнительно Создаётся библиотека .lib и объект .exp. Доп. ключей нет, не заказывал этого.
Автор: ne_viens
Дата сообщения: 05.12.2013 11:50
lib создётся для линкования откомпилированного кода bzip'a в пользовательские программы, в отличие от моего первого примера, где исходный код bzip'a компилируется вместе с исходником проги. Запускаем "nmake -f makefile.msc bzip2", получаем на выходе libbz2.lib, потом собираем test.exe с "cl test.c libbz2.lib". Резултат тот-же, всё собирается, компресируется, декомпресируется.
А, из makefile.msc только -MD ключ надо убрать.
Автор: kkuuhhaa
Дата сообщения: 05.12.2013 14:23
ne_viens
Дык чудо в том, что как раз б-ка создаётся при компиляции примера, строка именно в таком виде. Она почему-то строится при cl test.c libbz2.lib, ещё одна, уже с именем test.lib
PS #include "bzlib.h" не надобен. Это очень хорошо
Автор: ne_viens
Дата сообщения: 05.12.2013 14:39
Такого не может быть. А на чём собираешь? Всё моё выше сказанное справедливо для MSVC 2008, может в последние версии впихнули суперпуперлибратор?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193

Предыдущая тема: не знаю как назвать тему :-)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.