Вопросы и ответы по программированию.

Для тех, кто хочет сделать мир лучше.
Сообщение
Автор
Аватара пользователя
nikit-xxx
Лейтенант
Лейтенант
Сообщения: 208
Зарегистрирован: 28.11.2007
Благодарил (а): 44 раза
Поблагодарили: 5 раз

#271 Сообщение 12.09.2012, 00:35

Можно ли добиться передачи опции FREEGLUT_STATIC "без компиляции", то есть без создания .o ?
bat
PATH=%PATH%;C:\Mingw\bin\
SET GLUT_INCLUDE="C:\MinGW\freeglut\include"
SET GLUT_LIB="C:\MinGW\freeglut\lib"

gcc -D FREEGLUT_STATIC -I%GLUT_INCLUDE% -L%GLUT_LIB% *.c -o prog.exe -lfreeglut -lopengl32 -Wl,--subsystem,windows

pause
пишет
Скрытый текст
E:\Programming\Examples 8\1>gcc -D FREEGLUT_STATIC -I"C:\MinGW\freeglut\include"
-L"C:\MinGW\freeglut\lib" *.c -o prog.exe -lfreeglut -lopengl32 -Wl,--subsystem
,windows
C:\DOCUME~1\C9A4~1\LOCALS~1\Temp\ccgj0pek.o:example.c:(.text+0x1c): undefined reference to `___glutInitWithExit'
C:\DOCUME~1\C9A4~1\LOCALS~1\Temp\ccgj0pek.o:example.c:(.text+0x37): undefined reference to `___glutCreateWindowWithExit'
C:\DOCUME~1\C9A4~1\LOCALS~1\Temp\ccgj0pek.o:example.c:(.text+0x52): undefined reference to `___glutCreateMenuWithExit'
C:\DOCUME~1\C9A4~1\LOCALS~1\Temp\ccgj0pek.o:example.c:(.text+0x98): undefined reference to `_glutSpecialFunc'
C:\DOCUME~1\C9A4~1\LOCALS~1\Temp\ccgj0pek.o:example.c:(.text+0xa4): undefined reference to `_glutMouseFunc'
C:\DOCUME~1\C9A4~1\LOCALS~1\Temp\ccgj0pek.o:example.c:(.text+0xb0): undefined reference to `_glutDisplayFunc'
C:\DOCUME~1\C9A4~1\LOCALS~1\Temp\ccgj0pek.o:example.c:(.text+0xb5): undefined reference to `_glutMainLoop'
C:\DOCUME~1\C9A4~1\LOCALS~1\Temp\ccgj0pek.o:example.c:(.text+0xf1): undefined reference to `_glutShowOverlay'
C:\DOCUME~1\C9A4~1\LOCALS~1\Temp\ccgj0pek.o:example.c:(.text+0xf8): undefined reference to `_glutHideOverlay'
C:\DOCUME~1\C9A4~1\LOCALS~1\Temp\ccgj0pek.o:example.c:(.text+0x120): undefined reference to `_glutFullScreen'
C:\DOCUME~1\C9A4~1\LOCALS~1\Temp\ccgj0pek.o:example.c:(.text+0x136): undefined reference to `_glutReshapeWindow'
collect2.exe: error: ld returned 1 exit status
да, у меня есть вариант с компиляцией
bat с компиляцией
PATH=%PATH%;C:\Mingw\bin\
SET GLUT_INCLUDE="C:\MinGW\freeglut\include"
SET GLUT_LIB="C:\MinGW\freeglut\lib"

gcc -c -o example.o example.c -D FREEGLUT_STATIC -I"C:\MinGW\freeglut\include"
gcc -o example.exe example.o -L"C:\MinGW\freeglut\lib" -lfreeglut_static -lopengl32 -lwinmm -lgdi32 -Wl,--subsystem,windows

pause
Откуда иксы в моём нике
Изображение
Изображение
скачать С. Прата. Язык программирования C++. Лекции и упражнения. 5-е изд (*Выровнена нумерация страниц, *Содержание)
Краткая инструкция по созданию пиратки-распака CS/HL
Изображение
Использование тэга подсветки синтаксиса
[syntax lang="cpp" lines="n"]
#include <iostream>
using namespace std;

struct cl{
static void f() { cout << "Hi, user!\n"; }
int i;
};

int main()
{
cl::f();
//cl::i = 1;
return 0;
}
[/syntax]

Аватара пользователя
NiGHt-LEshiY
Полковник
Полковник
Сообщения: 10258
Зарегистрирован: 13.06.2008
Откуда: Россия
Благодарил (а): 752 раза
Поблагодарили: 2667 раз
Контактная информация:

#272 Сообщение 12.09.2012, 08:49

Оба варианта одинаковы, не заморачивайся.
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.

Аватара пользователя
Monk
VIP
VIP
Сообщения: 4713
Зарегистрирован: 21.11.2009
Благодарил (а): 418 раз
Поблагодарили: 1053 раза
Контактная информация:

#273 Сообщение 07.10.2012, 00:42

Пишу свою первую программу на C#.

Встала проблема - хранение настроек. Как я понял, для C# популярен метод хранения в xml файле. Есть ли какие то простые примеры?

На данный момент ничего сложного хранить не собираюсь, пару строк, да пару чисел.

Также, для меня важно хранить настройки рядом с исполнительным файлом, можно в подпапке.
«По ночам компьютеры собираются вместе и смеются над людьми, если те делают работу, которую могли бы делать компьютеры» (с) habrahabr
 
[hide_num=64]Изображение
Изображение

Не стоит становиться на одно колено ради девушки, которая ради тебя не готова встать на два. (С)
640K ought to be enough for anybody (с) BG[/hide_num]

Fire666
Эксперты no-Steam
Эксперты no-Steam
Сообщения: 2600
Зарегистрирован: 15.02.2007
Откуда: Москва
Благодарил (а): 2 раза
Поблагодарили: 43 раза
Контактная информация:

#274 Сообщение 07.10.2012, 00:49

Monk, может WinAPI методы для ini ?

Аватара пользователя
Monk
VIP
VIP
Сообщения: 4713
Зарегистрирован: 21.11.2009
Благодарил (а): 418 раз
Поблагодарили: 1053 раза
Контактная информация:

#275 Сообщение 07.10.2012, 00:58

Сам думал про ini, но что-то почти везде советуют xml и XmlDocument для C#. Щас вот пытаюсь кое что использовать, бог его знает, может выйдет.
Пока вот такой простой xml, вполне думаю юзабельно.

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<settings>
  <threads>30</threads>
  <workF>E:\Manga\Read Manga</workF>
</settings>
«По ночам компьютеры собираются вместе и смеются над людьми, если те делают работу, которую могли бы делать компьютеры» (с) habrahabr
 
[hide_num=64]Изображение
Изображение

Не стоит становиться на одно колено ради девушки, которая ради тебя не готова встать на два. (С)
640K ought to be enough for anybody (с) BG[/hide_num]

Fire666
Эксперты no-Steam
Эксперты no-Steam
Сообщения: 2600
Зарегистрирован: 15.02.2007
Откуда: Москва
Благодарил (а): 2 раза
Поблагодарили: 43 раза
Контактная информация:

#276 Сообщение 07.10.2012, 01:42

Посмотрел я вести информацию по использованию XmlDocument, как оказалось, по сути аналог сишной библиотеки tinyxml

http://support.microsoft.com/kb/301101/ru

Аватара пользователя
Monk
VIP
VIP
Сообщения: 4713
Зарегистрирован: 21.11.2009
Благодарил (а): 418 раз
Поблагодарили: 1053 раза
Контактная информация:

#277 Сообщение 07.10.2012, 02:25

Хм, и вполне простенькое решение:

Код: Выделить всё

XmlDocument config = new XmlDocument();
config.Load("readmanga.config");
string wF = config.SelectSingleNode("//configuration/folder").InnerText;
//чтение конфига, получение рабочей папки
int iTh = Convert.ToInt32(config.SelectSingleNode("//configuration/threads").InnerText);
//и числа потоков для работы
для xml

Код: Выделить всё

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <threads>10</threads>
  <folder>E:\Manga\Read Manga\</folder>
</configuration>
Работает на отлично.
«По ночам компьютеры собираются вместе и смеются над людьми, если те делают работу, которую могли бы делать компьютеры» (с) habrahabr
 
[hide_num=64]Изображение
Изображение

Не стоит становиться на одно колено ради девушки, которая ради тебя не готова встать на два. (С)
640K ought to be enough for anybody (с) BG[/hide_num]

Аватара пользователя
Monk
VIP
VIP
Сообщения: 4713
Зарегистрирован: 21.11.2009
Благодарил (а): 418 раз
Поблагодарили: 1053 раза
Контактная информация:

#278 Сообщение 09.10.2012, 04:10

Код: Выделить всё

                foreach (string sFN in Directory.GetDirectories(folder))
                {
                    DirectoryInfo di = new DirectoryInfo(sFN);
                    di.Delete(true);
                }
Можно использовать такое удаление папок, или лучше подобрать что-то иное? Боюсь случайно удалить чего не то, на деле должно удалять подпапки в folder.
«По ночам компьютеры собираются вместе и смеются над людьми, если те делают работу, которую могли бы делать компьютеры» (с) habrahabr
 
[hide_num=64]Изображение
Изображение

Не стоит становиться на одно колено ради девушки, которая ради тебя не готова встать на два. (С)
640K ought to be enough for anybody (с) BG[/hide_num]

MOZGIII
Разработчик
Разработчик
Сообщения: 910
Зарегистрирован: 09.01.2009
Откуда: Переезжаю в /dev/null
Благодарил (а): 7 раз
Поблагодарили: 65 раз
Контактная информация:

#279 Сообщение 09.10.2012, 22:03

Monk
http://msdn.microsoft.com/ru-ru/library ... ctory.aspx

Код: Выделить всё

Delete(String, Boolean)	 Удаляет заданный каталог и, при наличии соответствующей инструкции, все подкаталоги и файлы в нем.
Это я к тому что зачем делать DirectoryInfo?

Deus_Ex_Machina
Капитан
Капитан
Сообщения: 492
Зарегистрирован: 23.05.2010
Благодарил (а): 14 раз
Поблагодарили: 43 раза
Контактная информация:

#280 Сообщение 09.10.2012, 22:32

А можно устроить идеологический срач?

Аватара пользователя
NiGHt-LEshiY
Полковник
Полковник
Сообщения: 10258
Зарегистрирован: 13.06.2008
Откуда: Россия
Благодарил (а): 752 раза
Поблагодарили: 2667 раз
Контактная информация:

#281 Сообщение 09.10.2012, 23:03

Deus_Ex_Machina
Можно, я остановлю когда будет перебор.
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.

Аватара пользователя
Monk
VIP
VIP
Сообщения: 4713
Зарегистрирован: 21.11.2009
Благодарил (а): 418 раз
Поблагодарили: 1053 раза
Контактная информация:

#282 Сообщение 09.10.2012, 23:05

MOZGIII
спасибо, пофиксим х)
«По ночам компьютеры собираются вместе и смеются над людьми, если те делают работу, которую могли бы делать компьютеры» (с) habrahabr
 
[hide_num=64]Изображение
Изображение

Не стоит становиться на одно колено ради девушки, которая ради тебя не готова встать на два. (С)
640K ought to be enough for anybody (с) BG[/hide_num]

Аватара пользователя
$t@t!c_V()1D
Разработчик
Разработчик
Сообщения: 2639
Зарегистрирован: 06.12.2007
Благодарил (а): 10 раз
Поблагодарили: 29 раз

#283 Сообщение 10.10.2012, 01:00

Deus_Ex_Machina
Не эта тема, а соседняя.

Аватара пользователя
nikit-xxx
Лейтенант
Лейтенант
Сообщения: 208
Зарегистрирован: 28.11.2007
Благодарил (а): 44 раза
Поблагодарили: 5 раз

#284 Сообщение 13.10.2012, 19:40

C/C++: как получить список функций и их параметров, вызывающихся при работе неинтерактивного вообще, любого приложения(wget, aria2 к примеру), к которому есть исходники.

на данный момент мне известны 2 'тупых способа':
  • вставить в начало и конец каждой функции printf()
  • о нём я спрашивал ранее, но не получил ответа

    Код: Выделить всё

    (gdb) break main
    run
    step
    step
    step
    step
    ...
    - идиотизм на мой взгляд
[/offtop]
Откуда иксы в моём нике
Изображение
Изображение
скачать С. Прата. Язык программирования C++. Лекции и упражнения. 5-е изд (*Выровнена нумерация страниц, *Содержание)
Краткая инструкция по созданию пиратки-распака CS/HL
Изображение
Использование тэга подсветки синтаксиса
[syntax lang="cpp" lines="n"]
#include <iostream>
using namespace std;

struct cl{
static void f() { cout << "Hi, user!\n"; }
int i;
};

int main()
{
cl::f();
//cl::i = 1;
return 0;
}
[/syntax]

Аватара пользователя
NiGHt-LEshiY
Полковник
Полковник
Сообщения: 10258
Зарегистрирован: 13.06.2008
Откуда: Россия
Благодарил (а): 752 раза
Поблагодарили: 2667 раз
Контактная информация:

#285 Сообщение 13.10.2012, 20:06

nikit-xxx
Зачем это нужно?
Вообще профайлеры могут выдать такую информацию. Или какие-нибудь вещи вроде Valgrind. Оно очень тесно интегрируется в процесс и весьма ощутимо контроллирует выполнение программы.
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.

Ответить Вложения 1