# 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()`

## 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](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
