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

mono на freebsd - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
McBodik
3 / 3 / 1
Регистрация: 24.05.2010
Сообщений: 56
25.08.2010, 17:24     mono на freebsd #1
я знаю что вы скажете ... лучше ставить из портов но ... меня просто интересует в чем проблема ..
следовательно скачал моно на фришку. сконфигурив. мейкаю .. ошибки. захожу исправлять ошибки ... и вижу черт знает что))
если кто с таким сталкивался объясните пожалуйста ...
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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.08.2010, 17:24     mono на freebsd
Посмотрите здесь:

Mono project Mono
Софт работа с mono
Управление LPT портом под FreeBSD C++
c++ for freebsd C++ Linux
Программирование в Mono Mono
Является ли Mono бесплатной Mono
А Mono бесплатный? Mono
Mono Возможности Mono
Неужели вас устраивает качество Glade, wxFormBuilder, Mono Develop?
C++ Mono library load
Mono и npgsql Mono

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9383 / 5433 / 916
Регистрация: 25.07.2009
Сообщений: 10,428
25.08.2010, 17:49     mono на freebsd #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 системе - это круто!

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

Не по теме:
А вообще ... Net в BSD системе - это круто!
ну что поделаешь что заказчик установил ее себе и говорит - делайте))
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9383 / 5433 / 916
Регистрация: 25.07.2009
Сообщений: 10,428
25.08.2010, 18:48     mono на freebsd #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]
закомментировать и посмотрите, что получится.
McBodik
3 / 3 / 1
Регистрация: 24.05.2010
Сообщений: 56
25.08.2010, 23:33  [ТС]     mono на freebsd #5
спасибо)) уже дописал все ок
Yandex
Объявления
25.08.2010, 23:33     mono на freebsd
Ответ Создать тему
Опции темы

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