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

Может ли третий проверка возвращаемого функцией значения влиять на результат линковки? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Доступ к методам, массив указателей http://www.cyberforum.ru/cpp-beginners/thread806181.html
Можно ли как нибудь получить доступ к методу Positive в данном случае: StrL ** testStr3; testStr3= new StrL * ; testStr = new StrLBit("000110101"); bool tmp = testStr->Positive(); если StrL - предок, StrLBit - потомок, Positive - метод класса StrLBit ? При таком коде компилятор не видит метод.
C++ Краткое и индексное хранение списков на входе задано последовательность целых положительных чисел, не более 99, заканчивающуюся нулем. Организовать последовательно-связанное индексное хранение последовательности так, чтобы числа, имеют одинаковые первые цифры, были в одном подсписков. http://www.cyberforum.ru/cpp-beginners/thread806168.html
C++ выделение памяти
доброго времени суток)возник вопрос по поводу выделения памяти) если стоит тип int, то все работает норм, а если float то ошибку выдает)в чем косяк подскажите пожалуйста) #include<iostream> using namespace std; int main(){ float str, col; //float **ptrarr;
C++ Алгоритм RC5
Приветствую! Очередная лаба по криптографии вызвала определенные сложности. По заданию нужно реализовать приложение, которое: "1)С помощью EKE на основе RSA проверяет подлинность двух пользователей А и В и генерирует общий для них сеансовый ключ К 2)Используя полученный сеансовый ключ К и алгоритм шифрования RC5 производить шифровку и расшифровку сообщений между пользователями А и В. ...
C++ Копирование массива (строки) в методе класса http://www.cyberforum.ru/cpp-beginners/thread806148.html
У меня есть класс, поле которого массив символов char* В конструкторе копий требуется копировать это поле для нового объекта. Я это делаю так: char* Student::ArrayCopy(char* arr) { if (arr == NULL) return NULL;
C++ Поиск слова в файле Звучит просто, а на деле... Такая простая операция и... Есть варианты? #include <iostream> #include <string> #include <stdio.h> using namespace std; int main () { setlocale (LC_ALL, "RUSSIAN"); подробнее

Показать сообщение отдельно
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,300
12.03.2013, 13:01  [ТС]     Может ли третий проверка возвращаемого функцией значения влиять на результат линковки?
Цитата Сообщение от XRuZzz Посмотреть сообщение
зачем вам проверять
Цитата Сообщение от XRuZzz Посмотреть сообщение
как это поможет пользователю?
Позвольте мне этого не объяснять. Я в первом сообщении сказал, что код утрированный. Если я выложу неутрированный, Вы, извините за выражение, закалебётесь пыль глотать его разбирать. В неутрированном (кстати), присутствует такая строка:

C++
1
2
  if(::memcmp(&riid,&IID_IUnknown,sizeof(GUID)) == 0) 
    //Тут некоторо едействие
Так что проверку условия я ввёл не от балды.

++++++++++++++++++++++++++++++++++++++++++++++

тут скорее всего при оптимизации компилятор выкидывает сравнение memcmp(&x,&IID_IUnknown,2);
Там идентификатора IID_IUnknown в *.o файле просто-напросто нет. Я потом уже это обнаружил, но не стал сюда писать, сконцетрировался на другом коде. (Поэтому линковщик не встречает в *.o файле идентификатор IID_IUnknown и, поэтому не ругается.) Почему нет- это второй вопрос. Если это оптимизация, то ну его на фиг такую оптимизацию, не знаю в общем.

Щас возвернёмся к коду:
C++
1
2
3
4
5
6
7
8
9
10
//dllka.cpp
#include <unknwn.h>
int main (){
  
  //Размер взят от балды
  char x [23];
 
  //так ругается
  if(memcmp(x,&IID_IUnknown,2)); 
}
НУ даже пусть мой unknwn.h отличается от вашего (у меня есть оба *.h, но понятно, я работаю с "родным", который и показал), но идентификатор-то IID_IUnknown присутствует как в *.o файле, так и в *.a!


поздравляю вам удалось заставить меня скомпилить ваш пример.
это удаётся только если задать линкеру опцию -luuid
Да я уж и с опцией и всяко компилил, я же писал. Дайте командную строку, а?
 
Текущее время: 11:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru