Это только собирается работать на Список и не любой IEnumerable, но в LINQ существует это:
IList<Object> collection = new List<Object> {
new Object(),
new Object(),
new Object(),
};
foreach (Object o in collection)
{
Console.WriteLine(collection.IndexOf(o));
}
Console.ReadLine();
@Jonathan я не сказал, что это был большой ответ, я просто сказал, что это просто показывало, что было возможно сделать то, что он спросил:)
@Graphain я не ожидал бы, что он будет быстр - я не совсем уверен, как это работает, это могло повторить через весь список каждый раз для нахождения соответствующего объекта, который будет helluvalot, выдерживает сравнение.
Однако Список мог бы сохранить индекс каждого объекта наряду с количеством.
у Jonathan, кажется, есть лучшая идея, если он уточнил бы?
было бы лучше просто провести подсчет того, где Вы готовы в foreach хотя, более просты, и более адаптируемы.
ldd
shows dynamically linked libraries
nm
shows the symbols in the file.
To see which symbols come from static libraries requires running nm
against those libraries to get a list of the symbols (functions, etc.) in them, then comparing them to what your list of symbols from nm
.
You compare lists with the comm
command. See man comm
for details.
This was taken from this forum here.
Если данный компилятор не хранит какие-то метаданные внутри двоичного файла, тогда нет. Статическая библиотека - это код, который непосредственно компилируется в двоичный файл.
Нет, имена библиотек отбрасываются в процессе связывания. Однако, если ваш исполняемый файл содержит отладочную информацию (т. Е. Он был скомпилирован с флагом -g), вы можете получить информацию из него.