Если Вы используете , Visual C++ делает следующее: Вы включаете intrin.h и вызываете следующие функции:
Для чисел на 16 битов:
unsigned short _byteswap_ushort(unsigned short value);
Для чисел на 32 бита:
unsigned long _byteswap_ulong(unsigned long value);
Для чисел на 64 бита:
unsigned __int64 _byteswap_uint64(unsigned __int64 value);
числа на 8 битов (символы) не должны быть преобразованы.
Также они только определяются для неподписанных значений, они работают на целые числа со знаком также.
Для плаваний и удваивается, это более трудно как с простыми целыми числами, как они могут или не могут быть в порядке байтов хост-машин. Можно получить плавания с прямым порядком байтов на машинах с обратным порядком байтов и наоборот.
Другие компиляторы имеют подобный intrinsics также.
В [1 117] GCC, например, можно непосредственно звонить:
int32_t __builtin_bswap32 (int32_t x)
int64_t __builtin_bswap64 (int64_t x)
(никакая потребность включать что-то). Afaik bits.h объявляет ту же функцию не gcc-центральным способом также.
16 битов подкачивают, это - просто бит - вращаются.
Вызов intrinsics вместо того, чтобы прокрутить Ваше собственное дает Вам лучшую производительность и плотность кода btw..
Определенно возможно использовать локальные файлы xd_receiver.htm. Я разработчик приложений для Facebook по профессии, и у меня их настроены десятки.
Вы ближе всего к правильному ответу с вашим № 2 выше. Для этого нужно создать две версии вашего приложения. Если бы я делал «MyApp», у меня могло бы быть два URL-адреса страницы Canvas «myapp» и «myapp-dev» и соответствующие URL-адреса обратного вызова Canvas «www.myapp.com» и «192.168.1.1». Каждое из них представляет собой отдельное приложение Facebook со своим собственным ключом API и т. Д.
apps.facebook.com/myapp будет переходить на мой рабочий сервер, а apps.facebook.com/myapp-dev - на мою локальную машину разработки. . Вы, конечно, должны убедиться, что Facebook может добраться до вашей машины разработки.
Однако оттуда все должно работать нормально. Ты не Требуются даже разные версии файла xd_receiver.htm, поскольку содержимое файла всегда одинаково для всех приложений. Пока ваша строка FB.XdComm.Server.init ("/ xd_receiver.htm");
указывает на правильный файл, он должен работать.
Я управляю ключами API, путями и т. Д. В файл конфигурации и иметь один файл конфигурации для каждого приложения, будь то приложение для разработчиков или производственное приложение. Это упрощает вывод правильных ключей и путей на страницах приложения.
Вы можете оставить приложение разработки в режиме песочницы и выполнять всю работу на своем локальном компьютере.
Я управляю ключами API, путями и т.п. в файле конфигурации и имею один файл конфигурации для каждого приложения, будь то приложение для разработки или производственное приложение. Это упрощает вывод правильных ключей и путей на страницах приложения.
Вы можете оставить приложение разработки в режиме песочницы и выполнять всю работу на своем локальном компьютере.
Я управляю ключами API, путями и т.п. в файле конфигурации и имею один файл конфигурации для каждого приложения, будь то приложение для разработки или производственное приложение. Это упрощает вывод правильных ключей и путей на страницах приложения.
Вы можете оставить приложение разработки в режиме песочницы и выполнять всю работу на своем локальном компьютере.