Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
McBodik
3 / 3 / 1
Регистрация: 24.05.2010
Сообщений: 56
#1

mono на freebsd - C++

25.08.2010, 17:24. Просмотров 1177. Ответов 4
Метки нет (Все метки)

я знаю что вы скажете ... лучше ставить из портов но ... меня просто интересует в чем проблема ..
следовательно скачал моно на фришку. сконфигурив. мейкаю .. ошибки. захожу исправлять ошибки ... и вижу черт знает что))
если кто с таким сталкивался объясните пожалуйста ...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 mono_arch_handle_exception (void * sigctx, gpointer obj, gboolean test_only) 
    724 ( 
    725 # if defined (MONO_ARCH_USE_SIGACTION) 
    720 * @ obj: the exception object 721 * / 722 gboolean 
    723 mono_arch_handle_exception (void * sigctx, gpointer obj, gboolean test_only) 
    724 (725 # if defined (MONO_ARCH_USE_SIGACTION) 
    726 / * 
    727 * Handling the exception in the signal handler is problematic, 
since the original 
    728 * signal is disabled, and we could run arbitrary code though th 
e debugger. So 
    729 * resume into the normal stack and do most work there if possib 
le. 
    730 * / 
    731 MonoJitTlsData * jit_tls = TlsGetValue (mono_jit_tls_id. 
    732 guint64 sp = UCONTEXT_REG_RSP (sigctx. 
    733 
    734 / * Pass the ctx parameter in TLS * / 
    735 mono_arch_sigctx_to_monoctx (sigctx, & jit_tls-> ex_ctx. 
    736 / * The others in registers * / 
    737 UCONTEXT _REG_RDI (sigctx) = (guint64) obj; 
    738 UCONTEXT _REG_RSI (sigctx) = test_only; 
    739 
    740 / * Allocate a stack frame below the red zone * / 
    741 sp -= 128; 
    742 / * The stack should be unaligned * / 
    743 if (sp% 8 == 0) 
    744 sp -= 8; 
    745 UCONTEXT _REG_RSP (sigctx) = sp; 
    746 
    747 UCONTEXT _REG_RIP (sigctx) = (guint64) handle_signal_exception; 
    748 
    749 return TRUE; 
    750 # else ...
интересуют меня конструкции типа
C++
1
 UCONTEXT_REG_RDI (sigctx) = (guint64) obj;
что это такое и как бороться с ошибкой lvalue required as left operand of assignment
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.08.2010, 17:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос mono на freebsd (C++):

Mono library load - C++
Доброго времени суток! Можете подсказать, каким образом, кроме COM, подгрузить библиотеку на C#/Mono и вызвать из неё метод?

Управление LPT портом под FreeBSD - C++
Здравствуйте! Пытаюсь откомпилировать следующий код под FreeBSD: #include <stdio.h> #include <fcntl.h> #include <sys/ioctl.h> ...

c++ for freebsd - C++ Linux
Что необходимо знать и иметь для программирования на c|c++ в ОС FreeBsd.

FreeBSD NetBeans 8.1 - не видит команд в библиотеках но компилирует - C++ IDE
Здравствуйте! Решил написать программку для freeBSD используя NetBeans и вот какая сходу проблема: самая простейшая прога #include...

Неужели вас устраивает качество Glade, wxFormBuilder, Mono Develop? - Кроссплатформенная разработка
Почему после Delphi, Visual Basic, набросать всего-навсего блокнот или калькулятор это целая пытка? Самое дурацкое, что фреймворки Qt,...

Mono 2.8 Profiler ошибка при запуске [Mono] - Mono
скачал отсюда профайлер 2.8 http://greghurlman.com/2010/10/23/visual-s...e-for-mono-2-8/ установил как сказано, но при инициализации...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
easybudda
Модератор
Эксперт CЭксперт С++
9625 / 5573 / 947
Регистрация: 25.07.2009
Сообщений: 10,708
25.08.2010, 17:49 #2
McBodik, Вы бы лучше сами ошибки выложили, а не кусок исходника, на который они кивают...
Цитата Сообщение от McBodik Посмотреть сообщение
UCONTEXT_REG_RDI (sigctx) = (guint64) obj;
Должно бы быть каким-нибудь макросом, возвращающим объект типа guint64
Незатейливый пример
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
 
#define ARRSIZE 10
#define GET(a) ARR[a]
 
int ARR[ARRSIZE] = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
 
int main(void){
    int i;
    for ( i = 0; i < ARRSIZE; ++i )
        printf("%d ", GET(i));
    printf("\n");
    for ( i = 0; i < ARRSIZE; ++i )
        GET(i) = i + 1;
    for ( i = 0; i < ARRSIZE; ++i )
        printf("%d ", GET(i));
    printf("\n");
 
    return 0;
}
другими словами видимо просто не находится то место, где все эти чудо-макросы определены...

Не по теме:

А вообще .Net в BSD системе - это круто!

1
McBodik
3 / 3 / 1
Регистрация: 24.05.2010
Сообщений: 56
25.08.2010, 18:37  [ТС] #3
"Lvalue required as left operand of assignment"
это и есть ошибка которая меня интересует)
или я чего не понимаю или
UCONTEXT_REG_RDI и sigctx функции ... как это функция принимает функцию да еще им присваивается значение ...

Не по теме:
А вообще ... Net в BSD системе - это круто!
ну что поделаешь что заказчик установил ее себе и говорит - делайте))
0
easybudda
Модератор
Эксперт CЭксперт С++
9625 / 5573 / 947
Регистрация: 25.07.2009
Сообщений: 10,708
25.08.2010, 18:48 #4
Цитата Сообщение от McBodik Посмотреть сообщение
"Lvalue required as left operand of assignment"
это и есть ошибка которая меня интересует)
или я чего не понимаю или
UCONTEXT_REG_RDI и sigctx функции ... как это функция принимает функцию да еще им присваивается значение ...
Ешё раз: UCONTEXT_REG_RDI - это не функция, это макрос, который должен быть определён до вызова. Если его определения нет, С считает UCONTEXT_REG_RDI функцией, возвращающей значение типа int, а результат работы функции действительно не может быть левым значением в выражении (ну разве что в С++ функция ссылку на существующий объект возвращает, да и то сомнительно как-то)... Вы к моему примеру присмотритесь, особенно к части
Цитата Сообщение от easybudda Посмотреть сообщение
GET(i) = i + 1;
Вот попробуйте
Цитата Сообщение от easybudda Посмотреть сообщение
#define GET(a) ARR[a]
закомментировать и посмотрите, что получится.
1
McBodik
3 / 3 / 1
Регистрация: 24.05.2010
Сообщений: 56
25.08.2010, 23:33  [ТС] #5
спасибо)) уже дописал все ок
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.08.2010, 23:33
Привет! Вот еще темы с ответами:

MONO - Mono
Всем доброго времени суток. Хочу попробовать писать программы под Linux с использованием MONO. Возник такой вопрос: как я понимаю mono...

Mono project - Mono
Всем доброго времени суток. Вот на работе скорее всего на C# заставят перебираться, начинаю смотреть в сторону Mono, с Linux слезать не...

MonoDevelop и Mono - Mono
Привет всем пару вопросов по Mono 1) где скачать MonoDevelop ? 2) где можно скачать библиотеки mono(как они правильно называются ) под...

Программирование в Mono - Mono
Когда возникают холливары C# VS «что-то кроссплатформенное», программисты C# с гордостью заявляют, что есть такая вещь как mono. Но при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
25.08.2010, 23:33
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru