Связанный .lib-файл связан с .dll
У меня была такая же проблема. Скажем, у меня есть проекты MyProject и TestProject. Я эффективно связал файл lib для MyProject с TestProject. Однако этот файл lib был создан, так как была построена DLL для MyProject. Кроме того, я не содержал исходный код для всех методов в MyProject, но только доступ к точкам входа DLL.
Чтобы решить проблему, я построил MyProject как LIB и связал TestProject с этим .lib-файлом (скопируйте вложенный файл .lib в папку TestProject). Затем я смогу снова создать MyProject как DLL. Он компилируется, поскольку lib, с которым связан TestProject, содержит код для всех методов в классах MyProject.
Следующее:
list_reversed = list
заставляет две переменные ссылаться на один и тот же список.
Чтобы сделать копию, используйте
list_reversed = list[:]
. Еще лучше используйте встроенную функцию, вместо того чтобы писать свой собственный:
list_reversed = reversed(list)
PS Я бы рекомендовал не использовать list
в качестве имени переменной, поскольку он тенерирует встроенный .
Это касается общего поведения списков в python. Выполнение:
list_reversed = list
не копирует список, а ссылается на него. Вы можете запустить:
print(id(list_reversed))
print(id(list))
Оба будут выводить то же самое, что означает, что они являются одним и тем же объектом. Вы можете копировать списки по:
a = [1,2]
b = a.copy()
или
a = [1,2]
b = a[:]
list_reversed = list
не делает копию списка. Это просто делает list_reversed
новое имя, указывающее на тот же список. Вы можете увидеть любое количество других вопросов об этом на этом сайте, некоторые из них в соответствующих вопросах справа.
list
и reversed_list
- тот же список. Таким образом, изменение одного также меняет другой.
Что вы должны сделать, так это:
reversed_list = list[::-1]
Это отменяет и копирует список одним махом.
Когда вы делаете:
list_reversed = list
Вы не создаете копию list
, вместо этого вы создаете новое имя (переменную), которое ссылается на тот же список, что и раньше. Вы можете увидеть это, добавив:
print(id(list_reversed), id(list)) # Notice, the same value!!