:orphan:
# PetscDLSym
finds a symbol in a dynamic library 
## Synopsis
```
PetscErrorCode PetscDLSym(PetscDLHandle handle, const char symbol[], void **value)
```
Not Collective


## Input Parameters

- ***handle -*** obtained with `PetscDLOpen()` or `NULL`
- ***symbol -*** name of symbol



## Output Parameter

- ***value -*** pointer to the function, `NULL` if not found





## Note
If handle is `NULL`, the symbol is looked for in the main executable's dynamic symbol table.
In order to be dynamically loadable, the symbol has to be exported as such.  On many UNIX-like
systems this requires platform-specific linker flags.


## See Also
 `PetscDLClose()`, `PetscDLOpen()`, `PetscDLAddr()`, `PetscDLLibrary`, `PetscLoadDynamicLibrary()`, `PetscDLLibraryAppend()`,
`PetscDLLibraryRetrieve()`, `PetscDLLibraryOpen()`, `PetscDLLibraryClose()`, `PetscDLLibrarySym()`

## Level
developer

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/sys/dll/dlimpl.c.html#PetscDLSym">src/sys/dll/dlimpl.c</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/sys/dll/dlimpl.c)


[Index of all Sys routines](index.md)  
[Table of Contents for all manual pages](/manualpages/index.md)  
[Index of all manual pages](/manualpages/singleindex.md)  
