Как подать заявку.NET “большой знающий адрес”?

Функция является просто классом с __call__ метод, таким образом, можно сделать

hasattr(obj, '__call__')

, Например:

>>> hasattr(x, '__call__')
True

>>> x = 2
>>> hasattr(x, '__call__')
False

, Который является "лучшим" способом сделать его, но в зависимости от того, почему необходимо знать, если это является вызываемым или отмечает, Вы могли бы просто поместить его в try/execpt блок:

try:
    x()
except TypeError:
    print "was not callable"

спорно, является ли попыткой/кроме больше Python'y, чем выполнение if hasattr(x, '__call__'): x().. Я сказал бы hasattr, более точно, начиная с Вас, привычка случайно ловит неправильный TypeError, например:

>>> def x():
...     raise TypeError
... 
>>> hasattr(x, '__call__')
True # Correct
>>> try:
...     x()
... except TypeError:
...     print "x was not callable"
... 
x was not callable # Wrong!
36
задан wildcard 28 August 2009 в 11:41
поделиться

2 ответа

Флаг является частью заголовка изображения, поэтому вам необходимо изменить его с помощью editbin.

editbin /LARGEADDRESSAWARE <your exe>

Используйте dumpbin / headers и проверьте наличие Приложение может обрабатывать большие (> 2 ГБ) адреса , чтобы узнать, установлен ли флаг.

53
ответ дан 27 November 2019 в 05:52
поделиться

From what I can tell you have to use the editbin utility shown in the existing answer. There does not appear to be any way to set the flag using Visual Studio .NET, it looks like they encourage people to compile for 64 bit if possible instead of using the flag

http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=93771

8
ответ дан 27 November 2019 в 05:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: