Я могу выполнить Visual Studio 2008 x86 на Windows Vista x64?

Будет проще использовать указатели, если вы отделите указатель строки от его символьного указателя. Кроме того, max должен быть сброшен для каждой строки, и вы писали последний терминатор строки за пределами выделенной памяти. Вы также используете NULL, где вы должны использовать символ '\0'.

Наконец, функция возвращала первый символ новой строки (который я позже free).

#include <stdio.h>
#include <stdlib.h>

#define SIZE 4

char *bigLetters(char *str[], int size)
{
    char *strNew = malloc(size + 1);                    // no cast or sizeof necessary

    for (int i = 0; i < size; i++)
    {
        char ch;
        char max = 'a';                                 // moved inside loop
        char *ptr = *(str + i);                         // use a separate pointer
        for (int j = 0; (ch = *(ptr + j)) != '\0'; j++) // pull out the character
        {
            if (ch > max)                               // >= is not necessary
            {
                max = ch;
            }

        }
        *(strNew + i) = max;
    }
    *(strNew + size) = '\0';                            // correct the bounds error
    return strNew;                                      // just the pointer not its target
}    

int main(void)                                          // correct signature
{
    char *strArr[SIZE] = { "hello", "and", "good", "morning" };
    char *res = bigLetters(strArr, SIZE);
    printf("The new string is --> %s\n", res);
    free(res);                                          // clean up
    system("pause");
}

Выход программы

The new string is --> onor
Press any key to continue . . .
6
задан Jay Bazuzi 25 November 2008 в 13:02
поделиться

8 ответов

Существует версия № x64 Visual Studio 2008. Я выполняю стандартную 32-разрядную версию на Окончательном Vista x64, и это хорошо работает. Действительно нет никаких ежедневных проблем, на которые я натыкался. Вы просто устанавливаете его и идете.

16
ответ дан 8 December 2019 в 02:53
поделиться

Это было мое впечатление, что окна на 64 бита разработаны таким образом, что программы на 32 бита, которые живут полностью в UserLand "просто, работают". Для программ как драйверы устройств, для которых нужен доступ привилегированного режима, будет, вероятно, нужен 64-разрядный определенный порт.

Я не знаю ни о каких существенных исключениях к этому, хотя я уверен, что Вы могли найти некоторых, если Вы выглядите достаточно твердыми. Таким образом за возможным исключением эмуляторов мобильного устройства, Visual Studio должна быть хорошо.

2
ответ дан 8 December 2019 в 02:53
поделиться
3
ответ дан 8 December 2019 в 02:53
поделиться

Я использую VS2008 на x64 прямо сейчас. Это позволяет мне использовать своих полных 4 ГБ RAM. Это работает, но существует несколько угловых случаев для знания:

  • Отладка x64 приложения сделана с удаленной отладкой от 32-разрядной подсистемы до 64-разрядной подсистемы.

  • управляемый (.NET) приложения по умолчанию отмечены "любая платформа", что означает, что они выполняются под 64-разрядным на x64 ОС. Это означает, что организованная отладка является удаленной по умолчанию.

  • Там не Редактировать-и-продолжать когда удаленная отладка, таким образом, нет никакого E&C для.NET на x64 ОС, если Вы не отмечаете свое приложение как 32 бита только. Точно так же при создании собственного 64-разрядного приложения Вы не можете E&C оно.

  • Существует не смешан (управляемый + собственный компонент), когда удаленная отладка, таким образом, Вы не можете отладить и управляемые и собственные части x64 приложения.

4
ответ дан 8 December 2019 в 02:53
поделиться

У меня есть CD VS, 2005 и SP1 позволяют мне сделать x64 на своей перспективе. Должно быть то же для VS2008.

Безусловно, однажды установка, проверьте профиль компилятора, чтобы видеть, можно ли создать в X86 и X64. Если да (как я делаю на своей Vista) Вы в порядке!

2
ответ дан 8 December 2019 в 02:53
поделиться
  • Ни один я знаю о. Я использую и Систему Профессионала и Команды Visual Studio 2008 года, и они оба, кажется, хорошо работают на x64.
  • Да.
  • Нет.
  • Я не думаю, что существует 64-разрядная версия VS 2008.

В целом, это - гладкий парусный спорт для меня, таким образом, я думаю, что можно перейти прямо в.

3
ответ дан 8 December 2019 в 02:53
поделиться

Поскольку другие сказали, что VS является 32-разрядным приложением, поэтому пока он хорошо работает на 64-разрядной ОС, он будет только видеть, что реестр и части системы регистрации через 'волшебные' окна зеркального отражения обеспечивают.

Единственное время это было проблемой для нас, - когда мы пытались добавить ссылку на COM dll в приложении.NET. COM dll не появился в ссылочном диалоговом окне, так как это было только зарегистрировано как 64-разрядный DLL. Мы должны были зарегистрировать 32-разрядную версию для этого для работы.

2
ответ дан 8 December 2019 в 02:53
поделиться

Единственный недостаток - то, если Вы хотите использовать Studio управления SQL Express на Vista x64. Мой является невероятно медленным, и я не могу найти ответы, касающиеся почему!

Править:

Nevermind, у меня есть своя проблема при вводе этого.

Vista имеет TCP/IP автоматическая настраивающая функция. Следующим это учебное руководство: http://www.vistax64.com/tutorials/72308-auto-tuning-tcp-ip-receive-level.html я отключил его и теперь все работает как мечта!

0
ответ дан 8 December 2019 в 02:53
поделиться
Другие вопросы по тегам:

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